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 trialRubio Salinas
3,051 PointsBuild a simple android app with java. factTextView issue
So i keep getting an error when I try to run the app. "error. cannot find symbol variable factTextView". Any help would be greatly appreciated
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class FunFactsActivity extends AppCompatActivity {
// Declare our View variables
private TextView factTextView;
private Button showFactButton = findViewById(R.id.showFactButton);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fun_facts);
// Assign the Views from the layout file to the corresponding variables
factTextView = findViewById(R.id.factTextView); // <-- HERE IS THE ISSUE
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
// The button was clicked, so update the fact TextView with a new fact
String fact= "Ostriches can run faster than horses";
factTextView.setText(fact);
}
};
showFactButton.setOnClickListener(listener);
}
}
1 Answer
Jonathan Grieve
Treehouse Moderator 91,253 PointsIt seems like there's a conflict in your reference to the text view.
First of all, I'll clean up your code a little bit in your OP, so we can read it a little better. You can see the Markdown Cheatsheet so you can see how to add code to posts to the community in the future. :)
Without being able to investigate the actual program in Android Studio, the first thing I'd suggest is your locate the TextView in Design View and see if it has the correct ID. Look at the property inspector.... make sure it has the correct ID factTextView
.
Good luck :)
Rubio Salinas
3,051 PointsRubio Salinas
3,051 PointsI checked it, fixed it and am still having issues with it. I have no more errors, but the app automatically closes on startup. This is what I see in red on logcat 07-18 22:27:22.311 4588-4588/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.rubio.funfacts, PID: 4588 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.rubio.funfacts/com.example.rubio.funfacts.FunFactsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:117) at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149) at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29) at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:202) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183) at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190) at com.example.rubio.funfacts.FunFactsActivity.<init>(FunFactsActivity.java:12) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.Class.newInstance(Class.java:1606) at android.app.Instrumentation.newActivity(Instrumentation.java:1066) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2226) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372)