Вот код:
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
mListView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener(){
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean
checked) {
}
@Override
private boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.cam_menu, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_delete_reminder:
for (int nC = mCursorAdapter.getCount() - 1; nC >= 0; nC--) {
if (mListView.isItemChecked(nC)) {
mDbAdapter.deleteReminderById(getIdFromPosition(nC));
}
}
mode.finish();
mCursorAdapter.changeCursor(mDbAdapter.fetchAllReminders());
return true;
}
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
}
});
}
Это пример из книги Гербера и Крейга «Learn Android Studio». Я получаю сообщение об ошибке: не является абстрактным и не переопределяет абстрактный метод onItemCheckedStateChanged (ActionMode, int, long, boolean) в MultiChoiceModeListener.




Alt + Enter (в Android Studio) импортирует
import android.support.v7.view.ActionMode;
Я изменил это на
android.view.ActionMode
Нашел информацию здесь: https://forums.bignerdranch.com/t/multichoicemodelistener-problem/6106