2013-10-11 42 views
0

首先請原諒我提出非常廣泛的問題,我設計了一個Android應用程序,需要在一個表中至少600行和約50列,我已經創建了它的代碼並初始化我的分貝需要數據。 現在我面對的是一個簡單的問題,並沒有去的地方或找基本上我database examplesqlite操作指導與列表視圖

我有狀況相一致,以附加表,其中單獨列出活動號召每一列,例如第一個列表活動應該有產品名稱只有在第一次活動中點擊時,用戶才能在點擊年份用戶轉到版本之後轉到具有年份的新列表活動等。值得注意的是,在每個階段都需要過濾來移除不相關的條目。 任何人都可以指導我如何實現這個目標。 感謝和問候

+0

讓你的應用程序真的很棒!看起來很像Windows操作系統。 ^^(jk) –

回答

0

這是一個相當精緻的行爲來實現......但是,嘿,如果你想做到這一點,這裏是一個可能的方法:

你的ListView需要使用BaseAdapter實現了自定義適配器。這個CustomBaseAdapter將由對象列表,「選擇堆棧」和一個整型持有者列表進行備份。

對象列表列表將形成一個矩陣,就像包含「SN,產品,年份,版本,顏色,自定義文本」各自列表的圖像一樣,這些列表將與狀態持有者一起使用,讓您知道在那些模式目前處於哪些列表中,以及接下來要採用哪種模式。

根據您當前所處的堆棧級別,您的「堆棧選擇」將幫助您執行用戶所需的篩選,這也將由狀態持有者進行控制。

每當用戶單擊一行時,ListView將觸發onItemClick,它調用適配器將用戶選擇添加到「選擇堆棧」,並根據狀態持有者下一個可能性更改其狀態以更新數據。記住你的州持有人不能比你的矩陣列數大,因爲它擁有目前顯示的列。

上面的「更改其狀態」部分只是更改當前狀態持有者並調用notifyDataSetChanged,假設您將在適配器上實現getView方法,該方法記錄狀態持有者的當前狀態和當前選擇的「選擇堆棧」來過濾它將相應顯示的列表的內容。

ListView將自行刷新,您的適配器的getView方法將根據您當前的狀態獲取視圖。

對不起,我可以嘗試更好地解釋,如果需要的話。