Android Build a Simple Android App with Java Basic Android Programming Initializing a Button

Vygandas Razhas
PRO
Vygandas Razhas
Pro Student 2,422 Points

I've compared this syntax with atleast 4 different answered questions and I can't seem to find what's wrong with this.

How do I properly initialize my showFactButton? What is the purpose of the findViewById?

FunFactsActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class FunFactsActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fun_facts);

        // Declare our View variables and assign them the Views from the layout file
        TextView factLabel = (TextView) findViewById(R.id.factTextView);
        Button showFactButton = (Button) findViewById(R.id.showFactButton; 
    }
}

1 Answer

Steve Hunter
MOD
Steve Hunter
Treehouse Moderator 57,532 Points

Hi there,

You haven't closed the bracket after R.id.showFactButton.

I'll check the rest of your code and comment under here in a minute.

Steve.

Steve Hunter
Steve Hunter
Treehouse Moderator 57,532 Points

Yep - clicking the Preview button with your code gives you:

./FunFactsActivity.java:16: error: ')' expected
        Button showFactButton = (Button) findViewById(R.id.showFactButton;
                                                                         ^
1 error

Adding that bracket and it works fine.

Button showFactButton = (Button) findViewById(R.id.showFactButton);
Vygandas Razhas
Vygandas Razhas
Pro Student 2,422 Points

Thank you Steve! Can't wait to get better at coding!