【发布时间】:2014-03-24 12:50:02
【问题描述】:
我尝试开始一个新活动,然后我从模拟器中收到错误“不幸的是应用程序.....”。
03-24 12:41:53.242: E/AndroidRuntime(1245): FATAL EXCEPTION: main
03-24 12:41:53.242: E/AndroidRuntime(1245): java.lang.NullPointerException
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.content.ComponentName.<init>(ComponentName.java:75)
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.content.Intent.<init>(Intent.java:3662)
03-24 12:41:53.242: E/AndroidRuntime(1245): at de.basti12354.tage.uebungen.Tag1$1$1.run(Tag1.java:115)
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.os.Handler.handleCallback(Handler.java:730)
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.os.Handler.dispatchMessage(Handler.java:92)
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.os.Looper.loop(Looper.java:137)
03-24 12:41:53.242: E/AndroidRuntime(1245): at android.app.ActivityThread.main(ActivityThread.java:5103)
03-24 12:41:53.242: E/AndroidRuntime(1245): at java.lang.reflect.Method.invokeNative(Native Method)
03-24 12:41:53.242: E/AndroidRuntime(1245): at java.lang.reflect.Method.invoke(Method.java:525)
03-24 12:41:53.242: E/AndroidRuntime(1245): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-24 12:41:53.242: E/AndroidRuntime(1245): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-24 12:41:53.242: E/AndroidRuntime(1245): at dalvik.system.NativeStart.main(Native Method)
我已将新活动添加到 ManifestLayout。
这是我启动名为 Uebung2.class 的新活动的代码。
@Override
public void run() {
while (Running){
try {
Thread.sleep(1000);}
catch (InterruptedException e) {
e.printStackTrace();
// TODO: handle exception
}
handler.post(new Runnable() {
@Override
public void run(){
number+=1;
textfield.setText(String.valueOf(number));
if (number>5) {
Intent intent = new Intent(null, Uebung2.class);
startActivity(intent);
}
}
} );
}
}
};
new Thread(runnable).start();
【问题讨论】:
-
您为什么认为
Intent intent = new Intent(null, Uebung2.class);会起作用?明确要求上下文参数,它不是可选的或任何东西,没有理由不在这里传递参数。另外,您应该意识到 NPE 通常是由... null 引起的。
标签: android eclipse exception start-activity