java - 在 AbsListView.MultiChoiceModeListener 中覆盖 onItemCheckedStateChanged()
问题描述
这是代码:
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) {
}
});
}
这是 Gerber 和 Craig 的“Learn Android Studio”一书中的一个示例。我收到一个错误:不是抽象的,并且不会覆盖 MultiChoiceModeListener 中的抽象方法 onItemCheckedStateChanged(ActionMode,int,long,boolean)。
解决方案
Alt + Enter(在 Android Studio 中)导入
import android.support.v7.view.ActionMode;
我将其更改为
android.view.ActionMode
在这里找到信息: https ://forums.bignerdranch.com/t/multichoicemodellistener-problem/6106
推荐阅读
- c# - 调用扩展方法(TreeNodeCollection Add 方法)的正确方法是什么?
- javascript - Angular.js 路由不起作用
- javascript - 自动播放点导航 jquery setInterval
- asp.net - 从获取请求中返回 AspNetUser 表数据
- powershell - powershell 调试控制台中的标准输出
- python-2.7 - 在 Python Tkinter 中反转阿拉伯文本
- java - Android:使用输入用户更改活动
- php - 在文本框中提交联系表默认文本
- javascript - 当我点击它时显示项目
- python - 服务器连接和读/写值