2012-08-12 68 views
2

我正在實施ActionMode.Callback和一些ListView的東西。我的問題是,當我在選擇模式ListView.CHOICE_MODE_MULTIPLE,我檢查了一些項目,然後我無法清除選擇。ListView項目仍然檢查setChoiceMode(ListView.CHOICE_MODE_NONE)

我想那樣做:

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; 

    } 
}; 

請幫我解決這個問題。

回答

1

我不認爲改變模式應該清除你的選擇,我不會嘗試改變選擇模式一旦設置...似乎是一個壞主意。

而不是這樣做,爲什麼不使用清除選項列表的方法,如clearChoices()

簡單的例子:

ListView lv = getListView(); 
lv.clearChoices(); 
相關問題