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);
}
}
我們第一個(gè)應(yīng)該看見的就是聲明了很多私有的變量,因?yàn)檫@樣設(shè)置就可以變成只能自己來調(diào)用了,這樣和其它的不發(fā)生沖突。其中我們設(shè)置了開始數(shù)量和每頁數(shù)量。我們還要new一個(gè)adapter=new ShopAdapter(this);這個(gè)this就是寫的本類,也可以寫成類名.this。這個(gè)就是看個(gè)人的喜好,完事我們開始判斷,記住的是,在判斷的條件中count是要加1的,這個(gè)大家可要記住了我們在寫一個(gè)run方法,則個(gè)就自己來頂了,就不多說了。我們最后寫一個(gè)loadHotShop()方法,這個(gè)方法中要寫上你的參數(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é)》
希望本文所述對(duì)大家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)基于滑動(dòng)的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 知識(shí)體系里的重中之重,作為偏底層的基礎(chǔ)組件,平時(shí)我們很少關(guān)注它,而它卻是無處不在,也是Android 面試易考察的點(diǎn)之一2022-11-11
Android中TextView文本高亮和點(diǎn)擊行為的封裝方法
這篇文章主要介紹了Android中TextView文本高亮和點(diǎn)擊行為的封裝方法,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03
Android動(dòng)畫工具類的封裝實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于一次Android動(dòng)畫工具類的封裝實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Flutter學(xué)習(xí)LogUtil封裝與實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了Flutter學(xué)習(xí)LogUtil封裝與實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Android使用OKhttp3實(shí)現(xiàn)登錄注冊功能+springboot搭建后端的詳細(xì)過程
這篇教程主要實(shí)現(xiàn)Android使用OKhttp3實(shí)現(xiàn)登錄注冊的功能,后端使用SSM框架,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-07-07
Android spinner下垃菜單用法實(shí)例詳解
這篇文章主要介紹了Android spinner下垃菜單用法,詳細(xì)分析了spinner下垃菜單的定義、布局及功能實(shí)現(xiàn)相關(guān)技巧,需要的朋友可以參考下2016-07-07
Android應(yīng)用程序簽名步驟及相關(guān)知識(shí)介紹
本文主要介紹Android應(yīng)用程序簽名相關(guān)的理論知識(shí),包括:什么是簽名、為什么要給應(yīng)用程序簽名、如何給應(yīng)用程序簽名等,感興趣的朋友可以參考下哈2013-04-04

