4

同様の質問が見つからなかったので、同様の例外の報告がたくさんあります。そして、それは私のアプリケーションのどの場所も指していません。これは、アプリがビューの状態を復元しようとしていて、コンテナーに渡されるオブジェクトが null である場合に発生する可能性があると想定しています。

私は、フラグメントに android-support-v4 lib を使用しています + Parcelableインターフェイスを使用して、ダイアログフラグメント内にデータを保存しています。プロジェクト API 16 を使用した、API 16 の Android プロジェクト ターゲット。

レポートによると、このクラッシュは 4.0.3 および 4.0.4 デバイスでのみ発生します。

誰もそのような問題に直面しましたか?

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my/com.my.activities.MyActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3351)
at android.app.ActivityThread.access$700(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.view.View.dispatchRestoreInstanceState(View.java:9938)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2318)
at android.view.View.restoreHierarchyState(View.java:9921)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1625)
at android.app.Activity.onRestoreInstanceState(Activity.java:906)
at android.app.Activity.performRestoreInstanceState(Activity.java:878)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1100)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
... 12 more

前もって感謝します!

4

3 に答える 3

2

汚い回避策がまた見つかりました。

問題の原因を明らかにしてくれた Bill Blume に感謝します。

アクティビティの onRestoreInstanceState メソッドをオーバーライドして、以下のような例外を処理します。

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    try{
        super.onRestoreInstanceState(savedInstanceState);
    }catch (Exception e) {
        System.out.println("Exce");
    }
}

ありがとうビル・ブルーメ

于 2013-05-12T06:27:46.447 に答える
0

ひょっとしてインテント get / put extras を使っていませんか? ログの途中に NullPointerException があります。これは、extras に null 値を設定したことが原因である可能性があります - Android アプリでアクティビティ componentinfo を開始できません

于 2012-11-17T00:33:54.593 に答える