2010-05-15 134 views
0

我正在編寫一個軟件,我必須深入瞭解內容。例如,當程序啓動時,顯示一個listview。當用戶點擊某個項目時,必須顯示第二個列表視圖。例如:在android中執行多個listviews的最佳方式是什麼?

選擇大洲>選擇國家>選擇狀態>選擇城市>選擇地址

  1. 什麼是做到這一點的最佳方式(更少的內存,更快,更簡單的代碼等)?用多個適配器創建多個列表視圖?或者1個listview與多個適配器?列表從外部XML文件加載。

  2. 到目前爲止,我正在創建一個新的適配器並將其設置爲listview。我如何創建第二個列表視圖,並在點擊第一個列表視圖後顯示第二個列表視圖和動畫。任何例子?

  3. 將我的課程擴展到ListActivity或Activity?

+0

請參閱http://stackoverflow.com/search?q=android+multiple+listviews – 2010-05-15 05:54:47

回答

0

我會爲此做出多項活動。第一個活動顯示大陸列表,第二個國家列表,第三個州列表等...

當用戶比單擊後退按鈕。它將回到上一個活動(列表)。即使是scrollstate也會被記住。

這也將在活動之間添加OS動畫。關閉列表活動時,代碼也將被分離並釋放內存。

發送從一個活動的值到另一個前COUNTRYCODE TOT的StateListActivty通過設定intent.putExtra("CountryCode", countryCode);

第二種方法是使用一個ViewFlipper完成。添加每個listview作爲一個孩子。而不是在show-next和show-previous動作上設置自定義動畫。

注意:使用多個活動可能會使用比ViewFlipper方法更多的內存。

+1

「注意:使用多個活動可能會使用比ViewFlipper方法更多的內存。」是和不是。 「ViewFlipper」方法會導致一項重要活動。多項活動將共同佔用更多的記憶,但個別會更苗條。由於Android的內存管理涉及銷燬活動以釋放內存,恕我直言,您可以更好地使用多個活動。 – CommonsWare 2010-05-15 11:55:34

+0

同意,我會使用多個活動,正如我的第一個禮節所述。 – 2010-05-15 17:30:19

0

我會爲每個列表使用單獨的活動,但只有一個List Adapter類可以被所有人共享,因此您可以保持列表的外觀和易於維護代碼的一致性。您可以使用捆綁將信息從一個活動傳遞到另一個活動。

另一個想法:您所指的信息是「設置」信息的一部分嗎?那麼,我的意思是,用戶是否會將信息放入應用程序中,或者幾乎每次使用應用程序時都會放入信息(因爲每次信息都會有所不同)?如果它是「一次性」類型的信息,則最好使用PreferenceActivity。

+0

其實用戶會每次選擇使用應用程序。 – Nicos 2010-05-15 21:44:10

相關問題