Android編程實(shí)現(xiàn)分頁加載ListView功能示例
本文實(shí)例講述了Android編程實(shí)現(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); } }
我們第一個應(yīng)該看見的就是聲明了很多私有的變量,因?yàn)檫@樣設(shè)置就可以變成只能自己來調(diào)用了,這樣和其它的不發(fā)生沖突。其中我們設(shè)置了開始數(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ā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
- Android端代碼量非常小的分頁加載庫
- android九宮格可分頁加載控件使用詳解
- Android中ListView分頁加載數(shù)據(jù)功能實(shí)現(xiàn)
- Android基于ListView實(shí)現(xiàn)類似Market分頁加載效果示例
- Android之ListView分頁加載數(shù)據(jù)功能實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術(shù)(附demo源碼下載)
- Android應(yīng)用中ListView利用OnScrollListener分頁加載數(shù)據(jù)
- Android中ListView如何分頁加載數(shù)據(jù)
- Android實(shí)現(xiàn)ListView分頁加載數(shù)據(jù)
相關(guān)文章
Android Binder進(jìn)程間通信工具AIDL使用示例深入分析
Binder作為Android 眾多的IPC通訊手段之一,在Framework的數(shù)據(jù)傳輸中起到極為關(guān)鍵的作用。Binder機(jī)制可謂是Android 知識體系里的重中之重,作為偏底層的基礎(chǔ)組件,平時我們很少關(guān)注它,而它卻是無處不在,也是Android 面試易考察的點(diǎn)之一2022-11-11Android中TextView文本高亮和點(diǎn)擊行為的封裝方法
這篇文章主要介紹了Android中TextView文本高亮和點(diǎn)擊行為的封裝方法,文中介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03Android動畫工具類的封裝實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于一次Android動畫工具類的封裝實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Flutter學(xué)習(xí)LogUtil封裝與實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了Flutter學(xué)習(xí)LogUtil封裝與實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Android使用OKhttp3實(shí)現(xiàn)登錄注冊功能+springboot搭建后端的詳細(xì)過程
這篇教程主要實(shí)現(xiàn)Android使用OKhttp3實(shí)現(xiàn)登錄注冊的功能,后端使用SSM框架,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-07-07Android spinner下垃菜單用法實(shí)例詳解
這篇文章主要介紹了Android spinner下垃菜單用法,詳細(xì)分析了spinner下垃菜單的定義、布局及功能實(shí)現(xiàn)相關(guān)技巧,需要的朋友可以參考下2016-07-07Android應(yīng)用程序簽名步驟及相關(guān)知識介紹
本文主要介紹Android應(yīng)用程序簽名相關(guān)的理論知識,包括:什么是簽名、為什么要給應(yīng)用程序簽名、如何給應(yīng)用程序簽名等,感興趣的朋友可以參考下哈2013-04-04