Я реализовал просмотр списка в Android, интегрируя таким образом setMultiChoiceModeListener.
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return true;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
return true;
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
nr = 0;
num.setText(String.valueOf(nr));
adapter.clearSelection();
}
@Override
public void onItemCheckedStateChanged(ActionMode mode,
int position, long id, boolean checked) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences.Editor editor = prefs.edit();
if (checked) {
if(nr<8){
nr++;
adapter.setNewSelection(position, checked);
num.setText(String.valueOf(nr));
editor.putString(String.valueOf(nr), list_className.get(position));
editor.apply();
}
} else {
editor.putString(String.valueOf(nr), "");
editor.apply();
nr--;
num.setText(String.valueOf(nr));
adapter.removeSelection(position);
}
}
});
Таким образом, можно выбрать несколько элементов с помощью длинного щелчка по представлению списка. У меня вопрос, есть ли способ скрыть или не показать CAB после выбора элементов. Я не хочу, чтобы CAB появлялся во время выбора.