我有一個數據庫,裏面有大約12000條記錄,我想在ListView中加載。我使用BaseAdapter。當我在ListView中加載項目時,它需要很長時間。
有沒有什麼辦法可以減少這個時間,例如我看到一個只加載有限數量的項目的應用程序,直到滾動條到達ListView的末尾,然後再次加載更多的項目。在listview中加載大型數據庫
1
A
回答
1
這可能是有用的,一個ListView
負載更多按鈕:
http://www.androidhive.info/2012/03/android-listview-with-load-more-button/
您也可以到這裏看看:
0
您應該設置onScrollListener在你的清單,跟蹤項目的可見性和偏移量。我告訴你這裏一個例子:
// Adapter for the custom list
adapter = new Adapter(this, activityList);
setListAdapter(adapter);
registerForContextMenu(getListView());
getListView().setOnScrollListener(new OnScrollListener(){
public void onScroll(AbsListView lw, final int firstVisibleItem,
final int visibleItemCount, final int totalItemCount) {
switch(lw.getId()) {
case android.R.id.list:
// Make your calculation stuff here. You have all your
// needed info from the parameters of this function.
// Sample calculation to determine if the last
// item is fully visible.
final int lastItem = firstVisibleItem + visibleItemCount;
if(lastItem == totalItemCount) {
// Last item is fully visible.
Log.i("a", "last item fully visible...");
try {
if(offset > 0){
int newLimit;
int oldOffset = offset;
if(offset >= limit){
newLimit = limit;
offset = offset - limit;
}
else{
newLimit = length;
offset = 0;
}
for (int i=0; i < newLimit; i++)
{
JSONObject item = jFeed.getJSONObject(i + length - oldOffset);
// Pulling items from the array
// Get list info
String sInfo = item.getString(TAG_INFO);
Log.i(MainActivity.class.getName(), "Info: " + sInfo);
// Populate the dynamic custom list
HashMap<String, String> map = new HashMap<String, String>();
map.put(KEY_INFO, sInfo);
activityList.add(map);
}
adapter.notifyDataSetChanged();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
if(scrollState == 0)
Log.i("a", "scrolling stopped...");
}
});
相關問題
- 1. 在ListView中加載數據
- 2. 未能將大型數據集加載到h2數據庫中
- 3. 從數據庫動態加載ListView中的數據
- 4. 將數據從SQLite數據庫加載到ListView中
- 5. 在ListView中加載更多json數據
- 6. 將大型數據庫加載到UITableView中的最佳實踐
- 7. ListView無法加載數據
- 8. 大型數據庫
- 9. 從SQLite數據庫加載數據到ListView
- 10. 使用AngularJS加載大型數據集
- 11. 使用ActiveJDBC加載大型數據集
- 12. Android的:加載大量從XML處理的數據在ListView
- 13. 使用AJAX加載大型數據數組加載條
- 14. 從Parse.com將數據加載到ListView中
- 15. 在Android中處理大型數據庫
- 16. 將大量數據加載到Oracle SQL數據庫中
- 17. 從Android中的Sqlite數據庫加載大量的數據
- 18. 將QML元素從數據庫加載到ListView中
- 19. 從模型實例中的數據庫加載數據
- 20. Twitter類型從數據庫中加載數據
- 21. YCSB加載到數據庫中的數據類型是什麼?
- 22. 在Python中加載大數據
- 23. 在Android中爲OpenGL加載大型數據的正確方法
- 24. 在Power BI Designer中加載大型數據集(預覽版,2.21)
- 25. 如何在Python中快速加載大型數據集?
- 26. 用於大型數據集的Android ListView
- 27. 從R中的大整數數據庫中加載表格
- 28. 數據未加載到數據庫中
- 29. 大型數據下載
- 30. 如何顯示從數據庫加載到ListView中的圖像在Android中
集從查詢像你說的限制 http://stackoverflow.com/questions/1407442/android-sqlite-and-huge-data-sets – tyczj