0

私は使用ActionBarShelockしていますが、このエラーで強制終了することがありますが、それを処理する方法が見つかりません。

FATAL EXCEPTION: main
  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sps/com.sps.ui.activities.HomeActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
    at android.app.ActivityThread.access$600(ActivityThread.java:130)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4745)
    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:786)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    at dalvik.system.NativeStart.main(Native Method)
  Caused by: java.lang.NullPointerException
    at android.support.v4.app._ActionBarSherlockTrojanHorse.onCreatePanelMenu(_ActionBarSherlockTrojanHorse.java:52)
    at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.java:556)
    at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchCreateOptionsMenu(ActionBarSherlockNative.java:60)
    at com.actionbarsherlock.app.SherlockFragmentActivity.onCreatePanelMenu(SherlockFragmentActivity.java:154)
    at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:393)
    at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:747)
    at com.android.internal.policy.impl.PhoneWindow.restorePanelState(PhoneWindow.java:1677)
    at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1627)
    at android.app.Activity.onRestoreInstanceState(Activity.java:928)
    at android.app.Activity.performRestoreInstanceState(Activity.java:900)
    at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1130)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2037)
    ... 11 more
4

1 に答える 1

3

r7 サポート ライブラリ (ActionBarSherlock の現在のリリース (4.1.0) のベースとなっているバージョン) では、クラスはメニュー イベントをリストに含まれるフラグメントにディスパッチFragmentManagerする前にチェックします。このコードは、独自の型を使用し、独自のディスパッチを行うため、ActionBarSherlock にコピーされました。mActive != nullmAddedMenuItem

mAddedサポート ライブラリの後続のリリースでは、このチェックは、リストでインスタンス化されているかどうかを表すものではなくなっていることが判明しました。コミット464b6f3cは条件チェックを に変更しましたmAdded != null

この修正が行われてから、ActionBarSherlock はリリースされていません。ただし、コミット69fe6fdのdevブランチで更新され、次のリリースに含まれるようになりました。

于 2012-09-11T04:55:40.887 に答える