0

*答えた!: *アイテムのアイコンを持っていても、そのアイテムにはタイトルが必要であることがわかりました。

現在、アプリケーションに (Sherlock)Action Bar を実装しています。現在、画面ビューを更新するオンスクリーン ボタンがあり、このボタンをアクション バーの項目に移動したいと考えています。onOptionsItemSelected のログは LogCat に表示されませんが、Created メニューは表示されます。

ヌル ポインターを取得する理由がわかりません。また、エラー ログでヌルが発生している場所を見つけることができません。アクションバーの更新ボタンをクリックしたときにのみアプリがクラッシュし、その時点まで他のすべてが正常に実行されます。

public boolean onCreateOptionsMenu(Menu menu) {
        Log.i("Created Menu", "Yes");
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.main, menu);


        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        Log.i("Got into onOptionsItemSelected", "Yes");
        switch(item.getItemId()){

        case R.id.action_refresh:

                new getFleetList().execute(getFleetListURL);
                progressBar.setVisibility(ProgressBar.VISIBLE);

        return true;

    }

スタックトレース:

07-09 12:52:27.594: W/dalvikvm(23570): threadid=1: thread exiting with uncaught exception (group=0x4132e930)
07-09 12:52:27.601: E/AndroidRuntime(23570): FATAL EXCEPTION: main
07-09 12:52:27.601: E/AndroidRuntime(23570): java.lang.NullPointerException
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.MenuItemImpl.toString(MenuItemImpl.java:496)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at java.lang.StringBuilder.append(StringBuilder.java:202)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.actionbarsherlock.app.SherlockFragmentActivity.onMenuItemSelected(SherlockFragmentActivity.java:201)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:980)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:547)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:115)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.view.View.performClick(View.java:4204)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.view.View$PerformClick.run(View.java:17355)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.os.Handler.handleCallback(Handler.java:725)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.os.Looper.loop(Looper.java:137)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at android.app.ActivityThread.main(ActivityThread.java:5041)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at java.lang.reflect.Method.invokeNative(Native Method)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at java.lang.reflect.Method.invoke(Method.java:511)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-09 12:52:27.601: E/AndroidRuntime(23570):    at dalvik.system.NativeStart.main(Native Method)

編集、XML ファイル:

メニュー XML:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >




     <item
        android:id="@+id/action_refresh"
        android:icon="@drawable/ic_action_refresh"
        android:orderInCategory="1"
        android:showAsAction="always"

        />


</menu>
4

1 に答える 1