私はmain_menu.xmlから膨張されるメニューがあります。OnMenuItemSelectedは呼び出されません
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/act_sync"
android:showAsAction="always"
android:actionLayout="@layout/sync_action"
android:icon="@android:drawable/ic_popup_sync" />
</menu>
を、ここで活動中のコードです:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
MyMessageHandler.debug("menu item selected");
switch(item.getItemId()){
case R.id.act_sync:
sync();
return true;
}
return super.onOptionsItemSelected(item);
}
をしかし、メニュー項目をタッチするとonOptionsItemSelectedは呼び出されません。メニュー項目のactionLayout属性を削除すると、正常に動作します。これをどうすれば解決できますか?
ありがとうございます。
ありがとうございました。私はすでに 'item.setOnMenuItemClickListener'をテストしましたが、うまく動作しませんでした。ポイントは私のカスタムビューを取得し、それにclickListenerを設定することでした。助けてくれてありがとう:)でも、onClick()に@Overrideで注釈を付けるべきではありません。私は、動作するバージョンへのあなたの応答を編集し、もう少しダイジェストです;) –
Vipulに感謝します:) – Ranjit
これは私のために働いた唯一の解決策です。私はsetOnMenuItemClickListener、onMenuItemSelectedなどを試しました – crubio