本文實例講述了Android編程實現分頁加載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; //開始數量 private int limit=3; //每頁數量 @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); }}我們第一個應該看見的就是聲明了很多私有的變量,因為這樣設置就可以變成只能自己來調用了,這樣和其它的不發生沖突。其中我們設置了開始數量和每頁數量。我們還要new一個adapter=new ShopAdapter(this);這個this就是寫的本類,也可以寫成類名.this。這個就是看個人的喜好,完事我們開始判斷,記住的是,在判斷的條件中count是要加1的,這個大家可要記住了我們在寫一個run方法,則個就自己來頂了,就不多說了。我們最后寫一個loadHotShop()方法,這個方法中要寫上你的參數,也就是你想加載幾頁,就這樣,我們分頁加載就完成了。
更多關于Android相關內容感興趣的讀者可查看本站專題:《Android視圖View技巧總結》、《Android布局layout技巧總結》、《Android圖形與圖像處理技巧總結》、《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答