我正在实施ActionMode.Callback
和一些ListView
内容。我的问题是,当我处于选择模式ListView.CHOICE_MODE_MULTIPLE
并且我检查了一些项目时,我无法清除选择。
我试图这样做:
getListView().clearChoices();
getListView().setChoiceMode(ListView.CHOICE_MODE_NONE);
但选定的项目仍然保持选中状态。这是我的整个实施:
private class ActionModeCallback implements ActionMode.Callback
{
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
actionMode = mode;
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.main_cab_menu, menu);
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
{
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
return true;
}
public void onDestroyActionMode(ActionMode mode)
{
getListView().clearChoices();
getListView().setChoiceMode(ListView.CHOICE_MODE_NONE);
actionModeCallback = null;
actionMode = null;
}
};
请帮我解决这个问题。
答案 0 :(得分:1)
我不相信改变模式应该清除你的选择,并且我不会尝试改变选择模式一旦设置......似乎是一个坏主意。
为什么不使用清除clearChoices()等选项列表的方法,而不是这样做?
简单示例:
ListView lv = getListView();
lv.clearChoices();