我有一個問題,我很困惑。我有一個對話框,它包含一個按鈕。 我表現出的主要活動的對話框與此代碼,就這麼簡單:從android sdk 11或更高版本的自定義對話框啓動活動
InfoDialog id=new InfoDialog(this);
id.show();
,我希望當我點擊按鈕,它會啓動第二個活動。你看它很容易,我用這個代碼:
public class InfoDialog extends Dialog implements android.view.View.OnClickListener{
Context context;
public InfoDialog(Context context) {
super(context);
setContentView(R.layout.infodialog);
this.context=context;
setupViews();
}
private void setupViews() {
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button1:
Intent newintent= new Intent(context,DestActivity.class);
context.startActivity(newintent);
break;
}
}
我也在聲明destAct。當我在Gingerbread Android上運行它時,它可以正常工作。但是當我在冰淇淋三明治(sdk 11)或更高版本上運行此代碼時,它會讓我逼近!
這是我的日誌貓:
08-27 09:38:54.540: W/dalvikvm(10945): threadid=1: thread exiting with uncaught exception (group=0x40a3d1f8)
08-27 09:38:54.544: E/AndroidRuntime(10945): FATAL EXCEPTION: main
08-27 09:38:54.544: E/AndroidRuntime(10945): java.lang.NullPointerException
08-27 09:38:54.544: E/AndroidRuntime(10945): at my.app.InfoDialog.onClick(InfoDialog.java:131)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.view.View.performClick(View.java:3511)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.view.View$PerformClick.run(View.java:14105)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.os.Handler.handleCallback(Handler.java:605)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.os.Handler.dispatchMessage(Handler.java:92)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.os.Looper.loop(Looper.java:137)
08-27 09:38:54.544: E/AndroidRuntime(10945): at android.app.ActivityThread.main(ActivityThread.java:4575)
08-27 09:38:54.544: E/AndroidRuntime(10945): at java.lang.reflect.Method.invokeNative(Native Method)
08-27 09:38:54.544: E/AndroidRuntime(10945): at java.lang.reflect.Method.invoke(Method.java:511)
08-27 09:38:54.544: E/AndroidRuntime(10945): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
08-27 09:38:54.544: E/AndroidRuntime(10945): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
08-27 09:38:54.544: E/AndroidRuntime(10945): at dalvik.system.NativeStart.main(Native Method)
到底是什麼呢?請幫幫我
請澄清一下:「我點擊按鈕第二次開始第二個活動」,並告訴我們您的logcat結果。 – Mohit
發佈您的logcat。 – Sri
@Deadlock。張貼編輯我的朋友。 tnx您的評論 – aTa