java null对象引用错误/我希望我的文本视图在单击按钮时更改颜色和文本
Logcat说第15行有错误。但我不知道原因(我是noob,所以请温柔地解释给我听 下面是logcat的全部内容 。。。 2020-10-17 16:50:03.488 9840-9840/?E/city_实现:运行时设置未知位_标志:0x8000 2020-10-17 16:50:04.351 9840-9840/?E/AndroidRuntime:致命异常:主 流程:com.example.acticity_implements,PID:9840 java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.acticity\u implements/com.example.acticity\u implements.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.Button.setOnClickListener(android.view.view$OnClickListener)' 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)上 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)上 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)中 在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:2016) 位于android.os.Handler.dispatchMessage(Handler.java:107) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 原因:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.widget.Button.setOnClickListener(android.view.view$OnClickListener)” 在com.example.acticity_implements.MainActivity.onCreate(MainActivity.java:15) 位于android.app.Activity.performCreate(Activity.java:7802) 位于android.app.Activity.performCreate(Activity.java:7791) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)上 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)中 在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:2016) 位于android.os.Handler.dispatchMessage(Handler.java:107) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) buttonRed的xml代码如下所示。java null对象引用错误/我希望我的文本视图在单击按钮时更改颜色和文本,java,android,android-studio,Java,Android,Android Studio,Logcat说第15行有错误。但我不知道原因(我是noob,所以请温柔地解释给我听 下面是logcat的全部内容 。。。 2020-10-17 16:50:03.488 9840-9840/?E/city_实现:运行时设置未知位_标志:0x8000 2020-10-17 16:50:04.351 9840-9840/?E/AndroidRuntime:致命异常:主 流程:com.example.acticity_implements,PID:9840 java.lang.RuntimeExcep
这可以从上到下非常清楚地分解:
NullPointerException
并有两个引用:buttonRed
和this
this
不能为空,因此它必须是buttonRed
findViewById
用于获取对按钮的引用,这显然返回nullonCreate
中删除所有代码,您将看到一个没有按钮的白色屏幕
在
onCreate
中的setcontentview(R.layour\u layout)
,在super.onCreate()之后立即调用setcontentview(R.layour\u layout)
,我的英语不好,所以我不知道如何充分表达我的感激之情。我真的非常感谢你友好和有用的回答。非常感谢!!:D