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 で動作させる方法はありますか?