最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中判斷l(xiāng)istview是否滑動(dòng)到頂部和底部的實(shí)現(xiàn)方法

 更新時(shí)間:2017年11月26日 09:51:10   作者:鄒奇  
下面小編就為大家分享一篇Android中判斷l(xiāng)istview是否滑動(dòng)到頂部和底部的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天實(shí)現(xiàn)listview的下拉刷新和上拉加載的時(shí)候,遇到了一個(gè)問題,*就是說需要根據(jù)listview中滑動(dòng)的位置來進(jìn)行下拉刷新和上拉加載。*

具體點(diǎn),只有當(dāng)我的listview滑動(dòng)到最頂部的時(shí)候,這時(shí)候下拉才執(zhí)行刷新操作;只有當(dāng)我的listview滑動(dòng)到最底部的時(shí)候,這時(shí)候上拉才執(zhí)行加載操作。

那么怎么判斷l(xiāng)istview的滑動(dòng)位置呢?其實(shí)還是比較好解決的,說一下我的想法:

頂部的判斷,根據(jù)listview中的第一個(gè)item距離listview頂部的距離是否為0。

底部的判斷,根據(jù)listview中的最后一個(gè)item的底部與第一個(gè)item的頂部的距離是否為整個(gè)listview的高度。

上面的兩個(gè)想法代碼實(shí)現(xiàn)如下:

private void setLiseners() {
    // listview設(shè)置滑動(dòng)監(jiān)聽
    lsv_new_house.setOnScrollListener(new AbsListView.OnScrollListener() {
      @Override
      public void onScrollStateChanged(AbsListView absListView, int i) {
      }

      @Override
      public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        if(firstVisibleItem == 0){
          View first_view = lsv_new_house.getChildAt(0);
          if(first_view != null && first_view.getTop() == 0){
//            LogUtils.e("已經(jīng)滾動(dòng)到頂部了");
            bl_down = true;// 可以下拉刷新了
          }else {
//            LogUtils.e("還沒到頂部");
            bl_down = false;// 未滑動(dòng)到頂部不讓下拉刷新
          }
        }

        if(firstVisibleItem + visibleItemCount == totalItemCount){
          View last_view = lsv_new_house.getChildAt(lsv_new_house.getChildCount() - 1);
//          LogUtils.e("height = " + lsv_new_house.getBottom());// 最后一個(gè)item的底部與listview第一個(gè)item頂部之間的距離
//          int h = lsv_new_house.getHeight();
//          LogUtils.e("h = " + h);
          if(last_view != null && last_view.getBottom() == lsv_new_house.getHeight()){
//            LogUtils.e("已經(jīng)滾動(dòng)到最底部了");
            bl_up = true;// 可以上拉加載了
          }else {
//            LogUtils.e("還沒到底部");
            bl_up = false;// 未滑動(dòng)到底部不讓上拉加載
          }
        }
      }
    });
  }

代碼都是很簡單的,簡單說一下。獲取第一個(gè)item的view和最后一個(gè)item的view,并進(jìn)行相應(yīng)的判斷即可。

而且這樣判斷會更加的精確,因?yàn)橹灰狶istView中第一個(gè)item出現(xiàn)在屏幕上端,即使只出現(xiàn)一部分,firstVisibleItem 的值也依然為0, onScroll()回調(diào)就會發(fā)生; 同樣ListView 的最后一個(gè) item 即使只顯示一部分,((firstVisibleItem + visibleItemCount) == totalItemCount) 的值也是等于totalItemCount。

但是加了距頂部的距離和整個(gè)listview的高度判斷后,就可以做到精確的判斷了。

以上這篇Android中判斷l(xiāng)istview是否滑動(dòng)到頂部和底部的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android實(shí)現(xiàn)上拉吸頂效果

    Android實(shí)現(xiàn)上拉吸頂效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)上拉吸頂效果,上滑標(biāo)題固定在頂部,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Android中的Dalvik和ART詳解及區(qū)別分析

    Android中的Dalvik和ART詳解及區(qū)別分析

    小編通過這篇文章給大家整理了什么是Dalvik和ART,并進(jìn)行了區(qū)別的分析,下面一起來看看。
    2016-07-07
  • Kotlin 嵌套函數(shù)開發(fā)技巧詳解

    Kotlin 嵌套函數(shù)開發(fā)技巧詳解

    這篇文章主要為大家介紹了Kotlin 嵌套函數(shù)開發(fā)技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Android自定義View之RadioGroup實(shí)現(xiàn)跨多行顯示

    Android自定義View之RadioGroup實(shí)現(xiàn)跨多行顯示

    這篇文章主要介紹了Android自定義View之RadioGroup實(shí)現(xiàn)跨多行顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • RecyclerView底部分割線去除的方法

    RecyclerView底部分割線去除的方法

    如何完美的去除RecyclerView底部分割線?這篇文章主要為大家詳細(xì)介紹了RecyclerView底部分割線去除的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Android使用ContentResolver搜索手機(jī)通訊錄的方法

    Android使用ContentResolver搜索手機(jī)通訊錄的方法

    這篇文章主要介紹了Android使用ContentResolver搜索手機(jī)通訊錄的方法,結(jié)合實(shí)例形式分析了Android中ContentResolver操作手機(jī)通訊錄的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-01-01
  • Android 獲取drawable目錄圖片 并存入指定文件的步驟詳解

    Android 獲取drawable目錄圖片 并存入指定文件的步驟詳解

    這篇文章主要介紹了Android 獲取drawable目錄圖片 并存入指定文件,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • SafeList?in?Flutter?and?Dart小技巧

    SafeList?in?Flutter?and?Dart小技巧

    這篇文章主要為大家介紹了SafeList?in?Flutter?and?Dart小技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Android學(xué)習(xí)之介紹Binder的簡單使用

    Android學(xué)習(xí)之介紹Binder的簡單使用

    BInder方面的資料雖然感覺看的比較多,但是真正用的時(shí)候才發(fā)現(xiàn)有很多地方模棱兩棵的,所以,打算用一個(gè)實(shí)例再來鞏固一下binder的使用方法。這篇文章主要介紹了Android中Binder的簡單使用,文中給出詳細(xì)的示例代碼,需要的朋友可以參考下
    2016-12-12
  • Notification自定義界面

    Notification自定義界面

    這篇文章主要為大家詳細(xì)介紹了Notification自定義界面的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

洪泽县| 石渠县| 清徐县| 馆陶县| 厦门市| 河北省| 平和县| 绩溪县| 收藏| 岐山县| 高碑店市| 阿鲁科尔沁旗| 连城县| 富宁县| 岳普湖县| 阿坝| 东辽县| 循化| 衡东县| 隆德县| 昭平县| 通许县| 赤水市| 通化县| 青海省| 新乡县| 江门市| 新邵县| 饶阳县| 霍邱县| 三都| 周宁县| 雅安市| 江西省| 巴青县| 读书| 城口县| 牡丹江市| 深圳市| 浑源县| 深水埗区|