Java 新活动在启动时崩溃
当单击按钮从主活动切换到我的“颜色名称”活动时,应用程序崩溃 我还是个初学者,所以不是调试专家 主要活动代码Java 新活动在启动时崩溃,java,android,nullpointerexception,Java,Android,Nullpointerexception,当单击按钮从主活动切换到我的“颜色名称”活动时,应用程序崩溃 我还是个初学者,所以不是调试专家 主要活动代码 Button colorsGame = (Button) findViewById(R.id.colours); colorsGame.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View
Button colorsGame = (Button) findViewById(R.id.colours);
colorsGame.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, ColoursGame.class));
}
});
public class ColoursGame extends Activity {
int livesCount = 3;
String x;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_colours_game);
Button start = (Button) findViewById(R.id.startColors);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vSwitch.showNext();
x = String.valueOf(livesCount);
lives.setText(x);
text();
textColor();
backgroundColor();
start();
}
});
}
显示新活动
<activity android:name=".ColoursGame"
android:label="ColourGame"
android:theme="@style/AppTheme.NoActionBar"></activity>
错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.aynaar.numbersgameforkids, PID: 3278
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.aynaar.numbersgameforkids/com.aynaar.numbersgameforkids.ColoursGame}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2548)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference
at android.app.Activity.findViewById(Activity.java:2323)
at com.aynaar.numbersgameforkids.ColoursGame.<init>(ColoursGame.java:42)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
E/AndroidRuntime:致命异常:主
进程:com.aynaar.numbersgameforkids,PID:3278
java.lang.RuntimeException:无法实例化活动组件信息{com.aynaar.numbersgameforkids/com.aynaar.numbersgameforkids.colorsgame}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.view android.view.Window.findViewById(int)”
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2548)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
位于android.app.ActivityThread.-wrap12(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6077)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.view android.view.Window.findViewById(int)”
在android.app.Activity.findviewbyd(Activity.java:2323)
在com.aynaar.numbersgameforkids.colorsgame.(colorsgame.java:42)
位于java.lang.Class.newInstance(本机方法)
位于android.app.Instrumentation.newActivity(Instrumentation.java:1078)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
位于android.app.ActivityThread.-wrap12(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6077)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
根据错误,您试图访问活动布局文件中不存在的按钮(无论它是什么)。检查按钮的id,确保它位于与“颜色名称”活动相关的版面页面上
在com.aynaar.numbersgameforkids.colorsgame.(colorsgame.java:42)
不要在onCreate
之外调用findViewById
,此时没有窗口可调用findViewById
如果您仍然获得空指针,则必须在
activity\u colors\u game.xml
按钮开始=(按钮)findViewById(R.id.StartColor)此语句导致代码>错误。确保您的版面中有一个带有startColor
id的按钮。您确定版面中有一个按钮
命名颜色吗?从两个活动中显示您的版面所有id都是正确的,我似乎无法添加XML文件,因为它正在与缩进进行斗争否<空对象引用上的code>Window.findViewById(int)“
。。。窗口为空。不是按钮
Button start = (Button) findViewById(R.id.startColors);