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ù),也就是你想加載幾頁,就這樣,我們分頁加載就完成了。
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結》、《Android布局layout技巧總結》、《Android圖形與圖像處理技巧總結》、《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》及《Android控件用法總結》
希望本文所述對大家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ù)分頁加載技術(附demo源碼下載)
- Android應用中ListView利用OnScrollListener分頁加載數(shù)據(jù)
- Android中ListView如何分頁加載數(shù)據(jù)
- Android實現(xiàn)ListView分頁加載數(shù)據(jù)
相關文章
Android Binder進程間通信工具AIDL使用示例深入分析
Binder作為Android 眾多的IPC通訊手段之一,在Framework的數(shù)據(jù)傳輸中起到極為關鍵的作用。Binder機制可謂是Android 知識體系里的重中之重,作為偏底層的基礎組件,平時我們很少關注它,而它卻是無處不在,也是Android 面試易考察的點之一2022-11-11
Android中TextView文本高亮和點擊行為的封裝方法
這篇文章主要介紹了Android中TextView文本高亮和點擊行為的封裝方法,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
Flutter學習LogUtil封裝與實現(xiàn)實例詳解
這篇文章主要為大家介紹了Flutter學習LogUtil封裝與實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Android使用OKhttp3實現(xiàn)登錄注冊功能+springboot搭建后端的詳細過程
這篇教程主要實現(xiàn)Android使用OKhttp3實現(xiàn)登錄注冊的功能,后端使用SSM框架,本文通過實例圖文相結合給大家介紹的非常詳細,需要的朋友參考下吧2021-07-07

