Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Build a Simple Android App (2014) Basic Android Programming Initializing a Button

I need a very slow and easy breakdown of what each piece of code does , more specific the syntax rules for Javascript

Help please

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 findViewById()showFactButton ;
    }
}

1 Answer

Hi Daniel,

I think as you progress through the course for Java & Android, you will gain a better understanding of these points.

However, this challenge requires you to complete:

Initialize the showFactButton variable using the findViewById() method like the TextView above it. The ID for the button is showFactButton, and don't forget to cast it to a Button with (Button)

So, you've already got the showFactButton variable declared in the line:

Button showFactButton;

This needs initialising. This means giving it an actual value. That value will be of the type Button as that is what the variable is designed to hold.

We know that there's a graphical Button also called showFactButton. This is stored in the resources of the project. We can ccess these resources by using their id. We can use the method findViewById and passin the id to get a reference to the object in question. In this case, that's the button in the GUI.

Putting all that together we get:

Button showFactButton = (Button) findViewById(R.id.showFactButton);

Here, the declaration of showFactButton is followed by an equals sign. To the right of that, we access the resource called showFactButton. This brings back the button which needs 'casting' to that type, which is why there's (Button) prior to findViewById().

I'm sorry that's a bit clunky, but you really will gain a better understanding of this as you work through the course.

Steve.

P.S. And please be aware that there's no relation between Java and Javascript; your question implies there might be. They are totally separate languages.