2013-11-09 75 views
0

我想從對話框中啓動另一個活動,但是如果我在模擬器中運行,則會收到此強制關閉。如何解決這個問題?Android,強制關閉單擊對話框按鈕

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    boolean firstrun= true; 
    if (firstrun) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle("This is First Run !").setMessage("Welcome! Please enter the emergency numbers!"); 
     builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
       Intent sv = new Intent(getApplicationContext(),com.sach.droidclinic.Save.class); 
       startActivity(sv); 
      } 
     }); 

     AlertDialog dialogue = builder.create(); 
     dialogue.show(); 
    } 

此日誌貓我有問題一起連接,

11-10 21:48:58.250: D/dalvikvm(410): GC_EXTERNAL_ALLOC freed 50K, 53% free 2543K/5379K, external 716K/1038K, paused 107ms 
11-10 21:49:24.450: D/AndroidRuntime(410): Shutting down VM 
11-10 21:49:24.450: W/dalvikvm(410): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
11-10 21:49:24.469: E/AndroidRuntime(410): FATAL EXCEPTION: main 
11-10 21:49:24.469: E/AndroidRuntime(410): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.sach.droidclinic/com.sach.droidclinic.Save}; have you declared this activity in your AndroidManifest.xml? 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.app.Activity.startActivityForResult(Activity.java:2827) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.app.Activity.startActivity(Activity.java:2933) 
11-10 21:49:24.469: E/AndroidRuntime(410): at com.sach.droidclinic.MainActivity$1.onClick(MainActivity.java:32) 
11-10 21:49:24.469: E/AndroidRuntime(410): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:159) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.os.Looper.loop(Looper.java:123) 
11-10 21:49:24.469: E/AndroidRuntime(410): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-10 21:49:24.469: E/AndroidRuntime(410): at java.lang.reflect.Method.invokeNative(Native Method) 
11-10 21:49:24.469: E/AndroidRuntime(410): at java.lang.reflect.Method.invoke(Method.java:507) 
11-10 21:49:24.469: E/AndroidRuntime(410): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-10 21:49:24.469: E/AndroidRuntime(410): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-10 21:49:24.469: E/AndroidRuntime(410): at dalvik.system.NativeStart.main(Native Method) 
11-10 21:50:01.749: D/dalvikvm(440): GC_EXTERNAL_ALLOC freed 51K, 53% free 2543K/5379K, external 716K/1038K, paused 216ms 
11-10 21:50:08.658: D/AndroidRuntime(440): Shutting down VM 
11-10 21:50:08.658: W/dalvikvm(440): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
11-10 21:50:08.689: E/AndroidRuntime(440): FATAL EXCEPTION: main 
11-10 21:50:08.689: E/AndroidRuntime(440): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.sach.droidclinic/com.sach.droidclinic.Save}; have you declared this activity in your AndroidManifest.xml? 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.app.Activity.startActivityForResult(Activity.java:2827) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.app.Activity.startActivity(Activity.java:2933) 
11-10 21:50:08.689: E/AndroidRuntime(440): at com.sach.droidclinic.MainActivity$1.onClick(MainActivity.java:32) 
11-10 21:50:08.689: E/AndroidRuntime(440): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:159) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.os.Looper.loop(Looper.java:123) 
11-10 21:50:08.689: E/AndroidRuntime(440): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-10 21:50:08.689: E/AndroidRuntime(440): at java.lang.reflect.Method.invokeNative(Native Method) 
11-10 21:50:08.689: E/AndroidRuntime(440): at java.lang.reflect.Method.invoke(Method.java:507) 
11-10 21:50:08.689: E/AndroidRuntime(440): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-10 21:50:08.689: E/AndroidRuntime(440): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-10 21:50:08.689: E/AndroidRuntime(440): at dalvik.system.NativeStart.main(Native Method) 
11-10 21:51:12.799: D/dalvikvm(469): GC_EXTERNAL_ALLOC freed 41K, 53% free 2543K/5379K, external 716K/1038K, paused 108ms 
11-10 21:51:18.382: D/AndroidRuntime(469): Shutting down VM 
11-10 21:51:18.389: W/dalvikvm(469): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
11-10 21:51:18.415: E/AndroidRuntime(469): FATAL EXCEPTION: main 
11-10 21:51:18.415: E/AndroidRuntime(469): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.sach.droidclinic/com.sach.droidclinic.Save}; have you declared this activity in your AndroidManifest.xml? 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.app.Activity.startActivityForResult(Activity.java:2827) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.app.Activity.startActivity(Activity.java:2933) 
11-10 21:51:18.415: E/AndroidRuntime(469): at com.sach.droidclinic.MainActivity$1.onClick(MainActivity.java:32) 
11-10 21:51:18.415: E/AndroidRuntime(469): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:159) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.os.Looper.loop(Looper.java:123) 
11-10 21:51:18.415: E/AndroidRuntime(469): at android.app.ActivityThread.main(ActivityThread.java:3683) 
11-10 21:51:18.415: E/AndroidRuntime(469): at java.lang.reflect.Method.invokeNative(Native Method) 
11-10 21:51:18.415: E/AndroidRuntime(469): at java.lang.reflect.Method.invoke(Method.java:507) 
11-10 21:51:18.415: E/AndroidRuntime(469): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
11-10 21:51:18.415: E/AndroidRuntime(469): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
11-10 21:51:18.415: E/AndroidRuntime(469): at dalvik.system.NativeStart.main(Native Method) 
+0

發佈您的logcat –

+0

@ user2971347也發佈您的logcat錯誤。 – SathishKumar

+0

無需在他的問題中標記用戶。因爲問題所有者將自動獲得通知@SathishKumar – Avijit

回答

0

嘗試這種方式

替換此在點擊

Intent sv = new Intent(getApplicationContext(),com.sach.droidclinic.Save.class); 
       startActivity(sv); 

Intent sv = new Intent(YourActivityName.this,com.sach.droidclinic.Save.class); 
       startActivity(sv); 
+0

謝謝你的幫助,但是我試過了,還是我有同樣的問題,我的應用就是這樣,我有一個2500milisec的啓動畫面,然後出現對話框(雖然這個畫面會導致主要活動),但我需要從對話框的正面按鈕調用另一個活動。 – Sach106

+0

發佈您的mainfest.xml –

0

試試這個:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    boolean firstrun= true; 
    if (firstrun) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this).setTitle("This is First Run !").setMessage("Welcome! Please enter the emergency numbers!"); 
     AlertDialog dialogue = builder.create(); 
     dialogue.show(); 
     builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       // TODO Auto-generated method stub 
       Intent sv = new Intent(getApplicationContext(),com.sach.droidclinic.Save.class); 
       startActivity(sv); 
      } 
     }); 


    } 
+0

謝謝你的幫助,但是上面的代碼不會在對話框中顯示任何動作按鈕 – Sach106

0

堆棧跟蹤顯示一個activityNotFoundException。再次查看你的清單文件,並確保你聲明活動com.sach.droidclinic.Save那裏。