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

上の行は null ポインター例外があることを示し、下の行は行番号 (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

File2:

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

スタックトレースに表示されるのは、次のようなものです。

Exception Thrown
at File1 Line 2
at File2 Line 3

これは、から呼び出されたときに例外がスローされることを示していMyFunctionます。File1File2

明らかに、実際のプログラムでは、多くの関数が他の多くの関数を呼び出すため、スタックトレースはかなり長くなる可能性がありますが、原則は同じです。

フレームワークを使用するときに注意すべきもう1つのことは、自分で作成していないコードで例外がスローされる可能性があることです。これは、フレームワークを間違って使用しているか、フレームワークにバグがあることを意味します。99%の確率で、間違って使用しているためです

フレームワークの例外である場合は、フレームワークを呼び出しているコードのビットが見つかるまで、スタックトレースをフォローアップします。これは、問題が発生している可能性が最も高い場所です。

それがあなたが見ているものを明確にするのに役立つことを願っています

于 2012-05-08T18:15:36.847 に答える