2013-11-09 77 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那里。