Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android listview動態加載列表項實現代碼

Android listview動態加載列表項實現代碼

編輯:關於Android編程

最近了一個動態加載listview類表項的列子,分享出來大家學習學習,說說這個例子的實現過程,首先限定每次加載的列表項數據為10條數據,當拖動listview滾動到最後一條數據的時候再加載10條,並在Listview下方顯示加載提示。

下面是我的java源碼:

private void showContent() { 
  listView = (ListView) findViewById(R.id.journals_list_one); 
  loadData(); 
  adapter = new MyListAdapter(this, data); 
 
  footerView = View.inflate(TestLayout.this, 
    R.layout.journal_listitem_loading_bar, null); 
  listView.addFooterView(footerView, null, true); 
 
  listView.setAdapter(adapter); 
  listView.setOnScrollListener(listener); 
 } 
private AbsListView.OnScrollListener listener = new AbsListView.OnScrollListener() { 
 
  @Override 
  public void onScrollStateChanged(AbsListView view, int scrollState) { 
   if (view.getLastVisiblePosition() == view.getCount() - 1) { 
    loadData(); 
    adapter.notifyDataSetChanged(); 
   } 
  } 
 
  @Override 
  public void onScroll(AbsListView view, int firstVisibleItem, 
    int visibleItemCount, int totalItemCount) { 
 
  } 
 }; 
 
 /** 
  * 構造List列表數據 
  */ 
 private void loadData() { 
  if (data.size() <= 40) { 
   for (int i = 0; i < 10; i++) { 
    Map<String, String> map = new HashMap<String, String>(); 
    map.put("title", getString(R.string.title)); 
    map.put("desc", getString(R.string.content)); 
    data.add(map); 
   } 
  } else { 
   listView.removeFooterView(footerView); 
  } 
 } 

 實現這個功能主要是添加ListView的OnScrollListener監聽,判斷是否列表項到了最有一條,如果是最後一條就加載數據。加載數據時的加載效果是ListView.addFooterView()方法實現這個方法必須在listview.setAdapter()前才有用,當所有數據加載完成就調用listView.removeFooterView把footerview移除就可以了。

如果還想再深入學習Android listview的朋友可以點擊查看專題,更精彩: Android listview使用方法

以上就是本文的全部內容,希望對大家學習Android軟件編程有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved