2011-07-14 57 views
2

我一直在試圖解決這個問題了一會兒,已經用盡了創建多欄佈局所有不同的谷歌搜索,我能想到的。我是一名Android初學者,但瞭解大部分基礎知識(我認爲)。無論如何,我試圖以多列布局電子表格樣式顯示數據列表。我使用的是ListView,因爲我需要用戶能夠點擊一行來更詳細地查看數據,因爲只有這麼多才能適合連續使用。我使用SimpleAdapter可以很好地工作,但由於數據量有時可能很大,最多有500個條目,所以我希望切換到懶惰加載程序系統,以便用戶不必盯着黑屏20秒而一切都加載。我想我可以使用Lazy Loader部分進行管理,但我無法弄清楚如何從多列柱形式SimpleAdapter切換到所有Lazy Loader示例使用的ArrayAdapter。與ArrayAdapter

這裏是我的SimpleAdapter代碼的例子:

SimpleAdapter適配器=新SimpleAdapter(這一點,fillMaps,R.layout.grid_item,從,到);

fillMaps是要插入包含HashMap的名單。 'grid_item'是條目插入的佈局。 'from'是要使用的列名稱數組(或者HashMap中的鍵)。 'to'是一個TextView項目的數組,將填入'grid_item'中。任何想法如何將其轉換爲ArrayAdapter?或者如何使用SimpleAdapter進行延遲加載?

在此先感謝!

回答

1

爲了解決這個問題,對於其他人,這裏是我做得到它的工作完美:

  • 創建了自己的類中調用入口它只是包含了創建自定義適配器行
  • 的字符串擴展ArrayAdapter。對於構造函數,我向它傳遞一個Entry類型的ArrayList。
  • 創建更好的用戶界面效率
  • 一個ViewHolder充氣行佈局XML,然後將其添加到我的列表視圖

要獲得延遲加載工作:

  • 加在我的自定義的方法適配器,將追加進入了一個新的ArrayList反對,我已經在我的適配器
  • 創建一個onScrollListener和一些調試測試發現,如果頂部可見項目加上剩餘的ArrayList條目相當於總條目,然後我已滾動一路底部
  • 一旦檢測到底部,我會打電話給我取方法來檢索另外30項,利用我創建的add方法添加這些條目,然後用ArrayAdapter的notifyDataSetChanged()方法顯示新加載的項目
0

只寫自己的適配器。創建你的Activity私有類,裏面你ListView擴展BaseAdapter。填寫抽象方法並根據需要顯示數據。與SimpleAdapter一樣有用,你會從自己的適配器中獲得更多的吸引力,而且它們真的不難寫出來。

+0

我不想擴展ArrayAdapter?我只是試圖切換到利用LazyLoading的.add方法。 –