2

我正在实施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;

    }
};

请帮我解决这个问题。

4

1 回答 1

1

我不相信更改模式应该清除您的选择,而且一旦设置,我也不会尝试更改选择模式......似乎是个坏主意。

与其这样做,为什么不使用方法来清除选项列表,例如clearChoices()

简单的例子:

ListView lv = getListView(); 
lv.clearChoices();
于 2012-08-12T16:01:51.130 回答