本文實(shí)例講述了Android編程實(shí)現(xiàn)分頁(yè)加載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; //每頁(yè)數(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è)置就可以變成只能自己來(lái)調(diào)用了,這樣和其它的不發(fā)生沖突。其中我們?cè)O(shè)置了開始數(shù)量和每頁(yè)數(shù)量。我們還要new一個(gè)adapter=new ShopAdapter(this);這個(gè)this就是寫的本類,也可以寫成類名.this。這個(gè)就是看個(gè)人的喜好,完事我們開始判斷,記住的是,在判斷的條件中count是要加1的,這個(gè)大家可要記住了我們?cè)趯懸粋€(gè)run方法,則個(gè)就自己來(lái)頂了,就不多說(shuō)了。我們最后寫一個(gè)loadHotShop()方法,這個(gè)方法中要寫上你的參數(shù),也就是你想加載幾頁(yè),就這樣,我們分頁(yè)加載就完成了。
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注