Mam menu, które jest pompowana z main_menu.xml:OnMenuItemSelected nie jest wywoływana, gdy układ jest ustawiony na pozycji menu
<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>
i Oto kod aktywności:
@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);
}
Ale onOptionsItemSelected nie jest wywoływany po dotknięciu elementu menu. Po usunięciu atrybutu actionLayout pozycji menu działa poprawnie. Jak mogę to naprawić?
Dzięki.
Dzięki. Już testowałem 'item.setOnMenuItemClickListener', ale nie zadziałało. Chodziło o to, aby uzyskać mój niestandardowy widok i ustawić na nim clickListener. Dzięki za twoją pomoc :) chociaż onClick() nie powinien być adnotowany przez @Override. Edytuję twoją odpowiedź na wersję, która działa, a także jest nieco bardziej strawna;) –
dziękuję Vipul :) – Ranjit
To jest jedyne rozwiązanie, które zadziałało dla mnie. Próbowałem setOnMenuItemClickListener, onMenuItemSelected, itp. – crubio