Android編程實現(xiàn)分頁加載ListView功能示例
本文實例講述了Android編程實現(xiàn)分頁加載ListView功能。分享給大家供大家參考,具體如下:
package eoe.listview; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.AdapterView.OnItemSelectedListener; public class MainActivity extends Activity { private ListView listview; private ProgressBar loadBar; private TextView loadText; private ShopAdapter adapter; private int start=0; //開始數(shù)量 private int limit=3; //每頁數(shù)量 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listview=(ListView)findViewById(R.id.main_ListView); loadBar=(ProgressBar)findViewById(R.id.main_loadBar); loadText=(TextView)findViewById(R.id.main_loadText); adapter=new ShopAdapter(this); listview.setAdapter(adapter); listview.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView arg0, View arg1, int count, long arg3) { if(adapter.getCount()==count+1){ loadText.setText("下載中..."); loadBar.setVisibility(View.VISIBLE); new Thread(mRunnable).start(); } } @Override public void onNothingSelected(AdapterView arg0) { } }); new Thread(mRunnable).start(); } /** * 商店列表線程 */ private Runnable mRunnable=new Runnable(){ public void run(){ try { Thread.sleep(1500); mHandler.sendMessage(mHandler.obtainMessage()); } catch (InterruptedException e) { //System.out.println("Error-"+e.getMessage()); } } }; Handler mHandler=new Handler(){ public void handleMessage(Message msg){ super.handleMessage(msg); loadHotShop(limit); } }; /** * 加載店鋪 * @return */ public void loadHotShop(int limit){ DBLocalService db=new DBLocalService(this); Cursor cursor=db.querySQL("select * from "+db.TABLE_SHOP+" limit "+start+","+limit,null); if(cursor.getCount()>0) this.start+=limit; while(cursor.moveToNext()){ Shop s=new Shop(); s.setId(cursor.getString(cursor.getColumnIndex("id"))); s.setTitle(cursor.getString(cursor.getColumnIndex("title"))); adapter.addShop(s); } loadText.setText(""); loadBar.setVisibility(View.GONE); } }
我們第一個應該看見的就是聲明了很多私有的變量,因為這樣設置就可以變成只能自己來調(diào)用了,這樣和其它的不發(fā)生沖突。其中我們設置了開始數(shù)量和每頁數(shù)量。我們還要new一個adapter=new ShopAdapter(this);這個this就是寫的本類,也可以寫成類名.this。這個就是看個人的喜好,完事我們開始判斷,記住的是,在判斷的條件中count是要加1的,這個大家可要記住了我們在寫一個run方法,則個就自己來頂了,就不多說了。我們最后寫一個loadHotShop()方法,這個方法中要寫上你的參數(shù),也就是你想加載幾頁,就這樣,我們分頁加載就完成了。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
- Android端代碼量非常小的分頁加載庫
- android九宮格可分頁加載控件使用詳解
- Android中ListView分頁加載數(shù)據(jù)功能實現(xiàn)
- Android基于ListView實現(xiàn)類似Market分頁加載效果示例
- Android之ListView分頁加載數(shù)據(jù)功能實現(xiàn)代碼
- Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術(shù)(附demo源碼下載)
- Android應用中ListView利用OnScrollListener分頁加載數(shù)據(jù)
- Android中ListView如何分頁加載數(shù)據(jù)
- Android實現(xiàn)ListView分頁加載數(shù)據(jù)
相關(guān)文章
Android Binder進程間通信工具AIDL使用示例深入分析
Binder作為Android 眾多的IPC通訊手段之一,在Framework的數(shù)據(jù)傳輸中起到極為關(guān)鍵的作用。Binder機制可謂是Android 知識體系里的重中之重,作為偏底層的基礎組件,平時我們很少關(guān)注它,而它卻是無處不在,也是Android 面試易考察的點之一2022-11-11Android中TextView文本高亮和點擊行為的封裝方法
這篇文章主要介紹了Android中TextView文本高亮和點擊行為的封裝方法,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03Flutter學習LogUtil封裝與實現(xiàn)實例詳解
這篇文章主要為大家介紹了Flutter學習LogUtil封裝與實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09Android使用OKhttp3實現(xiàn)登錄注冊功能+springboot搭建后端的詳細過程
這篇教程主要實現(xiàn)Android使用OKhttp3實現(xiàn)登錄注冊的功能,后端使用SSM框架,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友參考下吧2021-07-07