Android Build a Simple Android App Basic Android Programming Accessing Views in Code: Assigning Variables

Cannot resolve method 'findViewByID(int)'

In this video we try to assign a value to a variable. As the title says, when I write this line:

    mFactTextView = findViewByID(R.id.factTextView);

"findViewByID" is marked red and when the cursor points at it, it says

"Cannot resolve method 'findViewByID(int)'".

2 Answers

Hi Simon,

It should be findViewById You had an uppercase 'D' for 'ID'

Hi,

Thank you. I tried that too but it didn't help.

Here is the code in MainActivity.java:

package com.example.simon.id8;

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView;

public class MainActivity extends AppCompatActivity { // Declare our View variables private TextView mFactTextView; private Button mShowFactButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Assign the Views from the Layour file to the corresponding variables
   mFactTextView = findViewById(R.id.factTextView);
   mShowFactButton = findViewById(R.id.showFactButton);

    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //The button was clicked, so update the fact TextView with a new fact
            String fact = "Ostriches can run faster than horses.";
            mFactTextView.

        }
    };

    mShowFactButton.setOnClickListener(listener);

}

}

It's not only that method that cannot be resolved. "AppCompatActivity" is also red as well as "onCreate" and "setContentView".