1

我有一個自定義ListView適配器的問題。 所以我試圖啓動ActionBarSherlock的ActionMode,當一個複選框(每個Listitem有一個)被選中。我直接在適配器中實現的OnClickListener:從Listadapter啓動ActionMode()

((CheckBox) holder.check_entry).setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     //code 
    } 
}); 

我該如何正確啓動ActionMode?

我希望你能幫助我。

回答

1

獲得對該活動的參考並致電Activity#startActionMode(ActionMode.Callback callback)。作爲參數,您需要通過接口的實現。查看ActionBarSherlock的ActionMode sample。我想看看android:choiceModeListView#isItemChecked(int position)

+0

你的意思是由MainActivity reference = new MainActivity(); ?感謝您的回覆 – Battlestr1k3 2013-03-16 19:57:09

+0

編輯:我現在有:MainActivity.startActionMode(MainActivity.mActionModeCallback);但回調需要是靜態的(公共靜態ActionMode.Callback mActionModeCallback),但是回調中的某些命令將不起作用,因爲我無法使dbhelper對象成爲靜態(取決於私有數據庫dbhelper = new db(this);) – Battlestr1k3 2013-03-16 20:03:20

+0

如果您在活動中聲明瞭適配器,則可以只寫'startActionMode(...)'。爲什麼回調必須是靜態的?就像在我鏈接的示例中完成一樣。 – 2013-03-16 20:24:52