我在我的程序中使用3個在java代碼中創建的列表視圖。我使用擴展實現onitemclicklistener的Activity。現在,如何分別爲每個listviwe製作不同的項目點擊事件? 任何幫助表示感謝,並提前感謝。如何使用多個列表項單擊擴展Activity實現onClicklistener
回答
public void onItemClick(AdapterView<?> adapter, View view, int index, long id)
{
switch(view.getId())
{
case <listview1 Id> : //call method 1; break;
case <listview2 Id> : //call method 2; break;
case <listview3 Id> : //call method 3; break;
}
}
這是一個糟糕的method.You應該實現不同類listeners.So可以模塊化代碼。
任何示例代碼作爲鏈接? –
我創建所有列表視圖動態(即)沒有ID。那麼如何實施? –
hey @PattabiRaman,你可以在創建視圖時使用setTag(int key,Object tag),在檢查視圖時使用getTag(int key)。 – dinidu
不要在Activity中實現OnItemClickListener,而應使用單獨的類,例如匿名類。
或者使用單個偵聽器,並通過callback method中的view參數檢測事件的來源。
如果你看到
onItemClick(AdapterView<?> parent, View view, int position, long id)
它有父適配器視圖。因此您可以檢查點擊哪個適配器視圖。
我個人覺得不要在這種類型的實例上實現onItemClickListner。
使用setOnItemClickListener(listener1)...等等這3個listViews。它更好。
您可以爲每個listView編寫單獨的偵聽器。
HTH。
您需要爲每個ListView創建一個新的onItemClickLIstener。
你這樣做是這樣的:
listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int index, long id) {
}
});
- 1. myActivity擴展GridView實現OnClickListener
- 2. 如何使用單個適配器實現多級可擴展列表視圖?
- 3. Android擴展列表 - OnClickListener
- 4. 實現一個@ html.myTelerikGrid擴展
- 5. Android擴展列表項
- 6. 如何爲展開式列表的子項實現不同的點擊事件?
- 7. 多個實體的擴展
- 8. 可擴展列表按鈕點擊與項目點擊
- 9. 單OnClickListener多個ViewHolders
- 10. 如何在不擴展Activity的類中使用getIntent()?
- 11. 如何在不擴展Activity的情況下使用getSharedPreferences?
- 12. 如何使用鏈表和單項類實現多項式類C++
- 13. 實現OnClickListener?
- 14. android onBindViewHolder未實現,即使使用擴展實現
- 15. 如何使箭頭單擊可擴展列表就像在Android的Youtube
- 16. 在activity activity中實現gridview
- 17. 如何在Mac中實現Safari擴展
- 18. Activiti如何實現可擴展性
- 19. Apache AirFlow如何實現可擴展性?
- 20. 如何測試擴展實現
- 21. 這個類擴展了Activity和BroadcastReceiver
- 22. 如何讓一個擴展SurfaceView的類啓動一個Activity?
- 23. 如何在多個Activity中使用ArrayList?
- 24. Java通過擴展LinkedList實現隊列
- 25. 是否可以在Activity和Fragment中實現單獨的按鈕onclickListener?
- 26. 版本控制擴展單個項目的多個項目
- 27. 如何實現多級可展開列表視圖?
- 28. 如何使用列表理解在python中擴展列表?
- 29. 如何在單個選項卡按鈕下包含可擴展列表視圖
- 30. 如何將列表綁定到單擊列表項目時展開的佈局
你能詳細解釋一下嗎?與代碼..? – Ronnie
當然。看到我的代碼在這個鏈接:http://pastebin.com/fGV10fh5 –