3

ActionBarSherlock を使用した Android 4.2 のアクション バーに問題があります。アクション バー メニュー項目を追加し、setOnMenuItemClickListener を使用してボタン アクションを設定します。

    MenuItem mapButton = menu.findItem(R.id.show_map);

    mapButton.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {

            //Button implementation goes here
        }
    });

これは Android 2.2 から Android 4.1 までは問題なく動作しますが、Android 4.2 では onMenuItemClick はまったく呼び出されません。

これを追加してみました

//Handles the map and route button in the options bar 
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.show_map:
        return false;
    case R.id.show_route:
        return false;
    default:
        return super.onOptionsItemSelected(item);
    }
}

ボタンを押すと呼び出されますが、効果がないようです。ボタンが実装するコードをこの関数に移動することはできますが、プログラムの他の部分を大幅に変更する必要があります。setOnMenuItemClickListener を Android 4.2 で動作させる方法はありますか?

4

0 に答える 0