onActionItemClicked recupérer le clic lorsque on clique sur le Checkbox dans le menu
Bonjour,
J'ai une listview avec des composants tels que des TextView des checkbox etc... Je souhaiterais faire comme dans Gmail c'est à dire on effectue un long click sur un message nous avons les checkbox qui apparaissent et ensuite on sélectionne un deux ou X ligne...
Si vous sélectionné une ou x ligne votre menu change et vous devez avoir
1 sélectionné(s) avec Un petit V sur la gauche dans Gmail.
Moi je souhaite savoir quand je click sur ce petit V pour désélectionné tous les checkbox de ma listView.
code que j'ai utilisé pour récupérer évenement sur mon petit V normalement..
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
/** Defining a multichoicemodelistener for the listview. */
mMultiChoiceModeListener = new MultiChoiceModeListener() {
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
/** This will be invoked when action mode is created. In our case , it is on long clicking a menu item */
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
getMenuInflater().inflate(R.menu.context_menu, menu);
return true;
}
/** Invoked when an action in the action mode is clicked */
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Toast.makeText(getBaseContext(), "Applying "+ item.getTitle() + " on "+ getListView().getCheckedItemCount() + " Rivers \n" + getCheckedItems(), Toast.LENGTH_LONG).show();
return false;
}
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
}
}; |
En sachant que dans mon menu j'ai plusieurs item et que si je fait un Log en affichant le getItemId() je ne le récupère jamais dans la méthode onActionItemClicked.
Donc si vous auriez une solution je suis preneur.
Cordialement,