作者uok (宇宙油王)
看板AndroidDev
標題[問題] 關於base adapter的問題
時間Mon Jul 25 22:27:41 2011
開發層: (應用/框架/庫/核心)
應用
問題:
如何只做adapter的切換控制ListView?
輸入:
假設我今天做了一個點菜的功能選項
基本選單
-----------------------------
飯類
-----------------------------
麵類
-----------------------------
炒菜
----------------------------
當我點下其中任何一個選項時
我就切換adapter,讓選單內容變化
如下
飯類
------------------------------
排骨飯
------------------------------
雞腿飯
------------------------------
叉燒飯
-------------------------------
可是當我點下叉燒飯的時候
menu卻會自動跳到「麵類」的地方去
這是因為我只使用的是同一個listview
click事件全部都是相同的
所以不管會到第幾層
他都只會接受原來的命令
但是因為我的menu選項層數非常的多
大概會有五六層以及一百多個選項
為每一個選項的子選項都設置一個新的listview實在太費功夫又吃資源
所以我想請各位比較有經驗的朋友指引一個方向
我該怎樣用最不吃資源的方法去把這個選菜系統做出來呢?
又,如果我只想做adapter的切換
要怎麼樣才不會讓click事件互相干擾??
--
程式是鮮活的、是有生命的、是熱血澎派而且豪情奔放的
它代表著人們處理問題時所展現的智慧
亦代表著人類與未知溝通時獨到的巧思
沒有它,電腦也不過是一堆裝著線路的垃圾鐵殼
但是因為有了它,這些無機物因此而有了心跳
程式語言不是令人費解的符號集合體而已,它們是......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.79.49
1F:推 tomap41017:把onItemClick之類的函式由adapter implement 07/25 23:15
2F:→ tomap41017:並在切換時同時設定adapter及ItemClickListener 07/25 23:15
您是指 XXXX extends BaseAdapter implement ClickListener這樣嗎?
然後每個CLICK事件都綁定在ADAPTER上?
3F:推 givemepass:切換到新的ListView的時候 把舊的ListView finish? 07/25 23:15
4F:→ givemepass:反正你換過去是新的頁面 需要上一頁的時候 在重建就好 07/25 23:16
※ 編輯: uok 來自: 61.228.79.49 (07/25 23:49)
※ 編輯: uok 來自: 61.228.79.49 (07/25 23:52)
5F:推 givemepass:你在OnClickItem的時候 可以根據id來判斷是按下哪一個 07/26 09:31
後來解決了,只要在選項裡面重新設計新的ClickListaner就好了
不過又衍生出新的問題= =
這種方法建構出來的click事件只能使用一次
如果回到上一個畫面再點一次就又消失了
這是為什麼呢???
※ 編輯: uok 來自: 220.128.150.66 (07/26 11:21)
6F:推 givemepass:你把程式碼上傳吧! 這樣看會比較清楚 07/26 13:03
7F:→ tomap41017:對!!綁在adapter上不是比較簡單嗎XD 07/27 02:24
8F:→ tomap41017:因為你onItemClick是在adapter內,所以可以輕易知道 07/27 02:24
9F:→ tomap41017:現在在哪一層 07/27 02:24
10F:→ tomap41017:不知我對你的問題理解有沒有錯誤 07/27 02:24