1

アクションバーのシャーロックにリストがあります。ユーザーがそのリストをクリックしたときに取得したい。ユーザーがアイテムをクリックしたときは知りたくありません。すでに知っています(onNavigationItemSelected)。

私のonCreate()で:

// Set action bar
final ActionBar actionBar = getSherlockActivity().getSupportActionBar();
if (actionBar.getNavigationMode() != ActionBar.NAVIGATION_MODE_LIST) {
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
}
actionBar.setDisplayShowTitleEnabled(false);
mSelectionAdapter = new SelectionAdapter(getSherlockActivity().getSupportActionBar().getThemedContext(), R.layout.sherlock_spinner_dropdown_item, kinds);
actionBar.setListNavigationCallbacks(mSelectionAdapter, this);

ユーザーがアクションバーのリストナビゲーションをクリックしたときにプログラムで検出したい。

4

1 に答える 1

1

リスト メニューなどのアクションバー項目がクリックされたときに通知を受け取りたい場合は、onMenuItemSelected次のようにオーバーライドする必要があります。

    @Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
int itemId = item.getItemId();
//using logcat you may see what the list item id is?
 Log.i(TAG, "clicked actionbar itemid is: " + itemId );

//here you can setup a listener for every actionbar item selected
    switch (itemId) {
//android.R.id.list might not be the one you are searching pls check it out and compare it to logcat and put the appropriate itemId here
    case android.R.id.list:
//do whatever you want to do when list item is clicked
        break;
    }

    return true;
}
于 2013-03-22T11:42:35.300 に答える