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 に答える