0

我的应用程序已停止在模拟器上运行“不幸的是”。我有 logcat,但是我不明白如何解决这些错误。请帮我。提前致谢。这是日志猫

05-07 14:34:01.302: E/AndroidRuntime(713): FATAL EXCEPTION: main
05-07 14:34:01.302: E/AndroidRuntime(713): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.calc/my.calc.CalcActivity}: java.lang.NullPointerException
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.os.Looper.loop(Looper.java:137)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread.main(ActivityThread.java:4424)
05-07 14:34:01.302: E/AndroidRuntime(713):  at java.lang.reflect.Method.invokeNative(Native Method)
05-07 14:34:01.302: E/AndroidRuntime(713):  at java.lang.reflect.Method.invoke(Method.java:511)
05-07 14:34:01.302: E/AndroidRuntime(713):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-07 14:34:01.302: E/AndroidRuntime(713):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-07 14:34:01.302: E/AndroidRuntime(713):  at dalvik.system.NativeStart.main(Native Method)
05-07 14:34:01.302: E/AndroidRuntime(713): Caused by: java.lang.NullPointerException
05-07 14:34:01.302: E/AndroidRuntime(713):  at my.calc.CalcActivity.onCreate(CalcActivity.java:30)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.Activity.performCreate(Activity.java:4465)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-07 14:34:01.302: E/AndroidRuntime(713):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-07 14:34:01.302: E/AndroidRuntime(713):  ... 11 more
4

2 回答 2

4
 Caused by: java.lang.NullPointerException

上面的行表示您有空指针异常,下面的行表示行号(CalcActivity.java:30)。

05-07 14:34:01.302: E/AndroidRuntime(713):  at my.calc.CalcActivity.onCreate(CalcActivity.java:30)

希望您可能忘记在 oncreate() 中使用 setContentView 并使用 xml 文件组件。

更新:::

adapter = new ArrayAdapter<CharSequence>(CalcActivity.this,android.R.layout.simple_spinner_dropdown_item, your_array_list_of_charsequence);

尝试在前面添加上面的行 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

于 2012-05-08T17:31:31.040 回答
0

只是为了解释所有这些“at”的含义......它被称为堆栈跟踪,是一种让您确定出现问题时应用程序正在做什么的方法。假设您有以下伪代码

文件1:

1 define function MyFunction(SomeParam)
2     Throw an exception here
3 end definition

文件2:

1 DoSomething()
2 DoSomethingElse()
3 Call MyFunction
4 DoSomething()

您会在堆栈跟踪中看到类似于

Exception Thrown
at File1 Line 2
at File2 Line 3

这告诉您,MyFunctionFile1File2.

显然,在一个真实的程序中,很多函数调用了很多其他函数,所以堆栈跟踪可能会更长一些——但原理是一样的。

使用框架时要注意的另一件事是,在您自己没有编写的代码中可能会引发异常。这要么意味着您使用错误的框架或框架有错误。99%的时间是因为你用错了

如果是框架异常,请跟踪堆栈跟踪,直到找到您编写的调用框架的代码。这很可能是问题所在。

希望这有助于澄清你所看到的

于 2012-05-08T18:15:36.847 回答