listview實現(xiàn)分頁查詢

###分頁查詢

* 限制返回具體某些數(shù)據(jù)的sql語句如下:

> select * from stu limit PAGE_COUNT offset COUNT;

> PAGER_COUNT :代表的是每頁返回多少, COUNT : 代表的是忽略掉前面的多少個條目。

> select * from stu limit 2 offset 5 ; //跳過前面的5條數(shù)據(jù),返回2條數(shù)據(jù)

1. 定義查詢方法

? ? ? ?String sql ?= "select * from " + BlackListDB.TableBlackList.TABLE_NAME + " limit ? offset ?";

? ? ? ?Cursor cursor = db.rawQuery(sql, new String[]{limit+"" , offset+"" });

2. 初次查詢,只查第一頁的數(shù)據(jù)

? ? ? ?//現(xiàn)在只查詢第一頁。

? ? ? ?mList = mDao.query(PAGE_SIZE , 0);

3. 滑動到底部的時候,再去查詢下一頁的數(shù)據(jù)

> 此處要知道滑動到了底部,必須對ListView執(zhí)行監(jiān)聽, 代碼詳見如下:

###ListView滑動監(jiān)聽

mListView.setOnScrollListener(this);

? ?//滑動狀態(tài)變化

? ?@Override

? ?public void onScrollStateChanged(AbsListView view, int scrollState) {

? ? ? ?// 如果已經(jīng)到了底部,并且現(xiàn)在是空閑狀態(tài)(沒有觸摸,也不滑動。)

? ? ? ?//getLastVisiblePosition 得到當(dāng)前屏幕里面的最底下哪一個條目的下標(biāo)索引

? ? ? ?//后面的條件意思就是: 如果現(xiàn)在屏幕里面的最后哪一條就是整個集合的最后一條。

? ? ? ?if(scrollState== OnScrollListener.SCROLL_STATE_IDLE

? ? ? ? ? ? ? ?&& mListView.getLastVisiblePosition() == mList.size() - 1){

? ? ? ? ? ?//查詢回來新的一頁數(shù)據(jù)

? ? ? ? ? ? /*List list = mDao.query(PAGE_SIZE , mList.size());

? ? ? ? ? ? //添加數(shù)據(jù)到集合中

? ? ? ? ? ? mList.addAll(list);

? ? ? ? ? ? mAdapter.notifyDataSetChanged();*/

? ? ? ? ? ? //------------------------------------

? ? ? ? ? ?List list = mDao.query(PAGE_SIZE , mAdapter.getCount());

? ? ? ? ? ?//已經(jīng)查詢到底了,沒有再多的數(shù)據(jù)返回了。

? ? ? ? ? ?if(list.size() == 0 ){

? ? ? ? ? ? ? ?ToastUtil.showShort(this, "沒有更多數(shù)據(jù)");

? ? ? ? ? ? ? ?return ;

? ? ? ? ? ?}

? ? ? ? ? ? //添加數(shù)據(jù)到集合中

? ? ? ? ? ? mAdapter.addData(list);

? ? ? ? ? ? mAdapter.notifyDataSetChanged();

? ? ? ?}

? ?}

? ?//只要有滑動,就調(diào)用

? ?@Override

? ?public void onScroll(AbsListView view, int firstVisibleItem,

? ? ? ? ? ?int visibleItemCount, int totalItemCount) {

? ?}

* ListView 數(shù)據(jù)為空,設(shè)置顯示默認(rèn)背景

? //設(shè)置數(shù)據(jù)為空顯示的空view

? ? ? ? ? ? ? ? ? ? ? ?mListView.setEmptyView(mIvEmpty);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,899評論 0 33
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,932評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評論 19 139
  • # 一度蜜v3.0協(xié)議 --- # 交互協(xié)議 [TOC] ## 協(xié)議說明 ### 請求參數(shù) 下表列出了v3.0版協(xié)...
    c5e350bc5b40閱讀 735評論 0 0
  • 作者:樂一貍 在湖南過年,走家串戶,難免碰上一道熱門主菜:冬筍炒臘肉。 早前,我對特別“地道”的湘菜是充滿抵觸情緒...
    樂一貍閱讀 1,399評論 12 20

友情鏈接更多精彩內(nèi)容