有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

创建意图的java空指针异常

我试图在应用程序上创建新活动的意图,但创建活动时会引发空指针异常,这会迫使仿真器关闭。有什么想法吗

    ...
    ...
//connect objects with the xml view
searchbar = (EditText) findViewById(R.id.searchtxt);
btmsearch = (Button) findViewById(R.id.searchbtm);
searchopt = (TextView) findViewById(R.id.advsearchtxt);

searchopt.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent bi = new Intent(getApplicationContext(), adv_search.class);
        startActivity(bi);
    }
});
//make the search when click on search buttom
btmsearch.setOnClickListener(new View.OnClickListener() {

    ...
    ...

应用程序的logcat如下所示:

02-29 19:54:42.313: D/AndroidRuntime(628): Shutting down VM
02-29 19:54:42.313: W/dalvikvm(628): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
02-29 19:54:42.313: E/AndroidRuntime(628): Uncaught handler: thread main exiting due to uncaught exception
02-29 19:54:42.323: E/AndroidRuntime(628): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.remotedata.firstapp/com.remotedata.firstapp.DataconectActivity}: java.lang.NullPointerException
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread.access$2100(ActivityThread.java:116)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.os.Handler.dispatchMessage(Handler.java:99)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.os.Looper.loop(Looper.java:123)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread.main(ActivityThread.java:4203)
02-29 19:54:42.323: E/AndroidRuntime(628):  at java.lang.reflect.Method.invokeNative(Native Method)
02-29 19:54:42.323: E/AndroidRuntime(628):  at java.lang.reflect.Method.invoke(Method.java:521)
02-29 19:54:42.323: E/AndroidRuntime(628):  at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
02-29 19:54:42.323: E/AndroidRuntime(628):  at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:549)
02-29 19:54:42.323: E/AndroidRuntime(628):  at dalvik.system.NativeStart.main(Native Method)
02-29 19:54:42.323: E/AndroidRuntime(628): Caused by: java.lang.NullPointerException
02-29 19:54:42.323: E/AndroidRuntime(628):  at com.remotedata.firstapp.DataconectActivity.onCreate(DataconectActivity.java:54)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
02-29 19:54:42.323: E/AndroidRuntime(628):  at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
02-29 19:54:42.323: E/AndroidRuntime(628):  ... 11 more
02-29 19:54:42.334: I/dalvikvm(628): threadid=7: reacting to signal 3
02-29 19:54:42.334: E/dalvikvm(628): Unable to open stack trace file '/data/anr/traces.txt': Permission denied

共 (1) 个答案

  1. # 1 楼答案

    根据您给出的代码,只有两行代码可以生成NullPointerException

    或者是因为searchopt为空(当前布局中的R.id.searchtxt是否属于您?) 或者是btmsearch为空(是否R.id.searchbtm属于当前布局??)