2012-04-07 156 views
0

因此,无论何时点击启动页面上的按钮,它都会给我一个强制关闭错误。这里是main.xml布局文件的类:按下按钮时强制关闭应用程序错误

public class ForeverAloneActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button btnstrt = (Button) findViewById(R.id.toq1); 
     btnstrt.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent frstq = new Intent(v.getContext(), QuestionOne.class); 
       startActivityForResult(frstq, 0); 

而这正是我认为会产生错误的原因。这个类是有关页面,在按下启动页面上的按钮时,你会被带到:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView (R.layout.frstq); 
    Button startQ2 = (Button) findViewById(R.id.toq2); 
    startQ2.setOnClickListener(new View.OnClickListener(){ 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent toQ2 = new Intent(v.getContext(), QuestionTwo.class); 
      final EditText number = (EditText) findViewById(R.id.editText1); 
      final Toast error = Toast.makeText(QuestionOne.this, "Please insert a value", Toast.LENGTH_SHORT); 
      if (number.getText().toString().equals("")) {error.show(); 
      }else{ 
      startActivityForResult(toQ2, 0);} 

这if语句是那里的下一个页面上,有一个EditText框。我试图这样做,如果EditText框中没有任何内容,它会显示一条“请插入一个值”的Toast消息。在将整数放入EditText框之前,该按钮将不起作用。

如果有人可以帮忙,这将是非常感激。

的logcat:

04-07 19:33:58.199: W/dalvikvm(362): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
04-07 19:33:58.221: E/AndroidRuntime(362): FATAL EXCEPTION: main 
04-07 19:33:58.221: E/AndroidRuntime(362): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.kenning.foreveralone/com.kenning.foreveralone.QuestionOne}; have you declared this activity in your AndroidManifest.xml? 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.app.Activity.startActivityForResult(Activity.java:2817) 
04-07 19:33:58.221: E/AndroidRuntime(362): at com.kenning.foreveralone.ForeverAloneActivity$1.onClick(ForeverAloneActivity.java:22) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.view.View.performClick(View.java:2408) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.view.View$PerformClick.run(View.java:8816) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.os.Handler.handleCallback(Handler.java:587) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.os.Looper.loop(Looper.java:123) 
04-07 19:33:58.221: E/AndroidRuntime(362): at android.app.ActivityThread.main(ActivityThread.java:4627) 
04-07 19:33:58.221: E/AndroidRuntime(362): at java.lang.reflect.Method.invokeNative(Native Method) 
04-07 19:33:58.221: E/AndroidRuntime(362): at java.lang.reflect.Method.invoke(Method.java:521) 
04-07 19:33:58.221: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-07 19:33:58.221: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-07 19:33:58.221: E/AndroidRuntime(362): at dalvik.system.NativeStart.main(Native Method) 
+0

什么是error.show(); – 2012-04-07 18:32:59

+0

如果EditText字段中没有值,则显示Toast的名称。 – MiKenning 2012-04-07 18:35:59

+0

在清单文件中添加QuestionOne活动 – 2012-04-07 18:38:49

回答

1

要补充的manifiest文件QuestionTwo? 检查你的错误 - 你是否在你的AndroidManifest.xml中声明了这个活动?

+0

我仍然收到强制关闭错误 – MiKenning 2012-04-07 18:34:08

+0

这似乎是一个异常错误,我将如何去捕获该错误? – MiKenning 2012-04-07 18:35:03

+0

看到你的logcat .... – 2012-04-07 18:35:22

0

声明您在活动文件中的活动。看来你是forgetted

<activity android:name="QuestionTwo" /> 

也不要忘记在您manifeast文件中的每个活动

+0

谢谢:):D – MiKenning 2012-04-07 18:45:48

0

嘿有你添加的QuestionTwo类作为menifest文件的活动。如果添加

Intent toQ2 = new Intent(YourCurrentActivity.this,QuestionTwo.class); 

那么之后必须还没有menifest.B'coz添加的活性,清楚地表明了日志中找不到活动英寸您必须在清单文件中声明该活动。

希望你能运行你的应用程序。