2012-06-16 98 views
0

我正在使用ListView並允許用戶長按該項目的Android項目上,以便他們可以在列表視圖中選擇多個項目。這一點工作正常,但我遇到的問題是找出哪個項目已被選中,以便我可以獲取該值並根據用戶選擇的內容對數據庫執行查詢。下面是我用於檢查狀態事件的代碼,但我無法從這裏弄清楚如何從TextView中獲取值。從onItemCheckedStateChanged獲取TextView文本

public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) 
    { 
     final int checkedCount = getListView().getCheckedItemCount(); 
     String data = 
     switch (checkedCount) 
     { 
      case 0: 
       mode.setSubtitle(null); 
       break; 
      case 1: 
       mode.setSubtitle("One item selected"); 
       break; 
      default: 
       mode.setSubtitle("" + checkedCount + " items selected"); 
       break; 
     } 
    } 

感謝您提供任何幫助。

+0

定期點擊會做不同的事情嗎?你爲什麼只在長時間點擊時檢查行? – Sam

+0

我提到的事件總是在項目被點擊時調用。長按即可激活選擇模式。 – Boardy

回答

1
can't figure out from here how to get the value from the TextView. 

不確定爲什麼你要從TextView中獲取值。由於它是不可編輯的,因此您具有該項目的正電子,只需從適配器的這個位置獲取數據,即可在此位置的文本視圖中獲得您設置的內容。

+0

或者可以嘗試list.getChildAt(position).findViewByID()來獲取textView - –

+1

從適配器中得到它,不知道我以前在想什麼:)代碼很簡單,它只是' 'String data = arrayAdapter.getItem(position).toString();'' – Boardy