1
我想使該格式的觀點像這樣的列表適配器:自定義ListView的適配器創建拆分按鈕
我希望能夠以觸發不同的onClick當用戶點擊圖片。我已經在getView()重寫中定義了圖像本身的onClick,但是如何獲得被單擊的行的位置,以便我可以更新數據庫中的記錄以記錄操作?
我想使該格式的觀點像這樣的列表適配器:自定義ListView的適配器創建拆分按鈕
我希望能夠以觸發不同的onClick當用戶點擊圖片。我已經在getView()重寫中定義了圖像本身的onClick,但是如何獲得被單擊的行的位置,以便我可以更新數據庫中的記錄以記錄操作?
首先,您需要代表適配器的ListView。如果你已經把它存儲在某個地方了,太棒了;如果沒有,您可以將傳遞給onClick()的View並將其getParent()方法調用兩次(或更多,如果圖像在被單擊的項目視圖中嵌套得更深)以獲取ListView。
從那裏,在View上調用ListView.getPositionForView()傳遞給onClick()。這會給你一個int值來表示列表適配器中點擊項的位置。從那裏,你可以隨心所欲地做任何事情。
例如:
public void onClick(View v){
ListView lv = (ListView)(v.getParent().getParent()); // you may need more getParent()s and/or extra casting
int position = lv.getPositionForView(v);
/* Do whatever database stuff
* You want to do
*/
}
啊哈! getPositionForView是關鍵。非常感謝! – 2010-07-03 12:52:36