我正在实现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;
}
};
请帮我解决这个问题。
最佳答案
我不认为更改模式应该清除您的选择,而且一旦设置,我也不会尝试更改选择模式...似乎是个坏主意。
而不是这样做,为什么不使用所制造的方法来清除诸如clearChoices()之类的选择列表?
简单的例子:
ListView lv = getListView();
lv.clearChoices();