【发布时间】:2009-10-25 17:40:53
【问题描述】:
我正在对 Netbeans 上的 android 进行修补,并做了一个简单的数学应用程序。在应用程序打开时突然强制关闭的某个地方(在模拟器上)......我尝试评论承载主要活动的类中的所有代码,但无济于事。由于它没有给我一个具体的错误信息,我感到有点失落。
发生这种情况的任何原因?
这是所要求的布局文件:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""/>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number" />
<EditText android:id="@+id/n"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:numeric="decimal"/>
<Button android:id="@+id/calc"
android:text="@string/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
按照建议,我检查了 logcat,这是错误列表
E/AndroidRuntime( 881): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 881): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.me.mathdroid/org.me.mathdroid.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime( 881): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324)
E/AndroidRuntime( 881): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
E/AndroidRuntime( 881): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
E/AndroidRuntime( 881): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
E/AndroidRuntime( 881): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 881): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 881): at android.app.ActivityThread.main(ActivityThread.java:4203)
E/AndroidRuntime( 881): at java.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime( 881): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 881): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime( 881): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
E/AndroidRuntime( 881): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 881): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 881): at android.app.Activity.findViewById(Activity.java:1610)
E/AndroidRuntime( 881): at org.me.mathdroid.MainActivity.<init>(MainActivity.java:22)
E/AndroidRuntime( 881): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime( 881): at java.lang.Class.newInstance(Class.java:1472)
E/AndroidRuntime( 881): at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
E/AndroidRuntime( 881): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
E/AndroidRuntime( 881): ... 11 more
【问题讨论】:
-
您的内部
似乎没有关闭。尝试将 extre 添加到 XML 文件的末尾。另外,第五行后面多了一个"。 -
删除了引号,而结束标记只是没有被选为 SO 编辑器中的代码。
-
发布异常的堆栈跟踪将有很大帮助。或者,如果不可能,“onCreate”块可能包含一些答案。
-
您绝对应该发布 MainActivity.java 源代码。任何你调用 findViewById 的地方。
标签: android