Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何纠正应用程序中的强制关闭错误_Java_Android_Android Layout_Android Intent - Fatal编程技术网

Java 如何纠正应用程序中的强制关闭错误

Java 如何纠正应用程序中的强制关闭错误,java,android,android-layout,android-intent,Java,Android,Android Layout,Android Intent,我可以在我的应用程序中找到错误。当我试图执行我的应用程序时,出现强制关闭错误 public class Main extends Activity { Button btnAdd; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo

我可以在我的应用程序中找到错误。当我试图执行我的应用程序时,出现强制关闭错误

public class Main extends Activity {
Button btnAdd;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    btnAdd = (Button) findViewById(R.id.btnAdd);
    btnAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent listIntent = new Intent (v.getContext(),Newbook.class) ;
            startActivity(listIntent);
        }
    });
}
}

日志cat错误为

03-31 16:05:57.493: D/AndroidRuntime(387): Shutting down VM
03-31 16:05:57.493: W/dalvikvm(387): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
03-31 16:05:57.503: E/AndroidRuntime(387): Uncaught handler: thread main exiting due to uncaught exception
03-31 16:05:57.597: E/AndroidRuntime(387): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.sam.daybook/com.sam.daybook.DayBookActivity}: java.lang.ClassNotFoundException: com.sam.daybook.DayBookActivity in loader dalvik.system.PathClassLoader@44e8d908
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.os.Looper.loop(Looper.java:123)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread.main(ActivityThread.java:4363)
03-31 16:05:57.597: E/AndroidRuntime(387):  at java.lang.reflect.Method.invokeNative(Native Method)
03-31 16:05:57.597: E/AndroidRuntime(387):  at java.lang.reflect.Method.invoke(Method.java:521)
03-31 16:05:57.597: E/AndroidRuntime(387):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-31 16:05:57.597: E/AndroidRuntime(387):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-31 16:05:57.597: E/AndroidRuntime(387):  at dalvik.system.NativeStart.main(Native Method)
03-31 16:05:57.597: E/AndroidRuntime(387): Caused by: java.lang.ClassNotFoundException: com.sam.daybook.DayBookActivity in loader dalvik.system.PathClassLoader@44e8d908
03-31 16:05:57.597: E/AndroidRuntime(387):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
03-31 16:05:57.597: E/AndroidRuntime(387):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
03-31 16:05:57.597: E/AndroidRuntime(387):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
03-31 16:05:57.597: E/AndroidRuntime(387):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
03-31 16:05:57.597: E/AndroidRuntime(387):  ... 11 more
03-31 16:05:57.684: I/dalvikvm(387): threadid=7: reacting to signal 3
03-31 16:05:57.863: I/dalvikvm(387): Wrote stack trace to '/data/anr/traces.txt'

在缺少错误的情况下,您可以通过包名找到导致应用程序崩溃的错误,如:

com.sam.daybook
课程或活动如下:

com.sam.daybook.DayBookActivity
正确的错误是:

 java.lang.ClassNotFoundException: com.sam.daybook.DayBookActivity in loader dalvik.system.PathClassLoader@44e8d908 03-31 16:05:57.597:

我希望这可能对您有所帮助…

看起来Android找不到您的活动类: 这意味着无法从代码中实例化活动

Unable to instantiate activity ComponentInfo{com.sam.daybook/com.sam.daybook.DayBookActivity}: 
然后这告诉您找不到类
com.sam.daybook.DayBookActivity

java.lang.ClassNotFoundException: com.sam.daybook.DayBookActivity in loader
DayBookActivity
是否存在于
src/com/sam/daybook/

您发布的代码是针对名为
Main
的类的,如果这是您希望加载的活动,我认为您可能需要将该类重命名为
DayBookActivity
。您还需要将
Main.java
文件重命名为
DayBookActivity.java

试试这个
Intent listIntent=新的Intent(Main.this,Newbook.class)

尝试将以下行添加到我们项目的Android清单中

<activity android:name="NAME_OF_YOUR_CLASS">
  <intent-filter>
     <action android:name="NAME_OF_YOUR_INTENT"/>
     <category android:name="android.intent.category.DEFAULT"/>
  </intent-filter>
</activity>

然后使用以下行开始您的活动

startActivity(新意图(“你的意图的名称”)


确保上行和清单中的意图名称完全相同。

在清单中声明
Newbook
活动。使用
getBaseContext()
作为上下文,因此您的行应该是
intent listIntent=newintent(getBaseContext(),Newbook.class)我认为您已经在清单上声明了一个名为DayBookActivity的活动,并且在您的src代码中,您没有具有该名称的活动,您的清单中似乎有DayBookActivity,它还在使用吗?清理您的项目并重新构建it@sam如果这有助于解决您的问题,请接受它作为答案。