così sto cercando di ottenere la mia voce di menu, che è mostrare sulla barra delle azioni di comportarsi come un'opzione del menu controllabile. La prima parte funziona, il che significa che è controllabile e quando lo preme, e setto in codice il setChecked (vero) funziona. Ma ciò che non funziona è la parte visiva. Non vi è alcun cambiamento nel modo in cui una voce di menu appare sulla barra delle azioni in stati controllati e non selezionati? Ho provato a utilizzare invalidateOptionsMenu() ma questo non fa il lavoro, e non solo quello, con quella linea nel mio codice non posso uscire dallo stato controllato?!? Quello che succede è che invalidare OptionsMenu() giunzioni per disinserire lo stato controllato e finire 'looping', o ad ogni pressione di quella voce del menu torno alla parte non controllata del codice dove viene controllato e con invalidare si ottiene incontrollato immagino ...La voce di menu controllabile della barra delle azioni di Android non funziona/mostra correttamente?
Ecco il codice dal mio file XML per il menu:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/lenslist_menu_add"
android:showAsAction="always"
android:title="@string/add"/>
<item android:id="@+id/lenslist_menu_delete"
android:showAsAction="always"
android:checkable="true"
android:title="@string/delete"/>
</menu>
E qui è il codice Java:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.lenslist_menu_add:
return true;
case R.id.lenslist_menu_delete:
if (item.isChecked() == true) {
item.setChecked(false);
deleteMode = false;
lensAdapter.setDeleteMode(false);
} else {
item.setChecked(true);
deleteMode = true;
lensAdapter.setDeleteMode(true);
}
lensAdapter.notifyDataSetChanged();
return true;
}
return super.onOptionsItemSelected(item);
}
Grazie!
Dov'è quella citazione da? –
È possibile trovare un commento nelle demo Api: ApiDemos \ res \ menu \ checkable.xml, non è stato possibile trovarlo nella documentazione per sviluppatori – Entreco