日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrollview 实现滑动到底部再滑动加载数据的功能

發布時間:2025/6/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrollview 实现滑动到底部再滑动加载数据的功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

思路:在滑動基礎上添加scrollview到底檢測事件

1.首先檢測是否滑動


[java] view plaincopy
  • //?滑動加載??
  • ????????scrollView.setOnTouchListener(new?OnTouchListener()?{??
  • ??
  • ????????????@Override??
  • ????????????public?boolean?onTouch(View?v,?MotionEvent?event)?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ??
  • ????????????????switch?(event.getAction())?{??
  • ????????????????????case?MotionEvent.ACTION_DOWN?:??
  • ??
  • ????????????????????????break;??
  • ????????????????????case?MotionEvent.ACTION_MOVE?:??
  • ????????????????????????//檢查滑動事件??
  • ?????????????????????????Log.d(TAG,"滑到底部");??
  • ????????????????????????break;??
  • ????????????????????default?:??
  • ????????????????????????break;??
  • ????????????????}??
  • ????????????}?????
  • ????????});??

  • 2.對scrollview添加到底檢測監聽事件

    但是scrollview 不能像listview那樣添加onscrolllistener監聽,所以需要自己檢測


    [java] view plaincopy
  • if?(view.getMeasuredHeight()?<=?v.getScrollY()?+?v.getHeight())?{??
  • ????????//到底部??
  • ????????Log.d(TAG,"滑到底部");??
  • }??

  • 3.組合代碼


    [java] view plaincopy
  • //?滑動加載??
  • scrollView.setOnTouchListener(new?OnTouchListener()?{??
  • ??
  • ????????@Override??
  • ????????public?boolean?onTouch(View?v,?MotionEvent?event)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ??
  • ????????????switch?(event.getAction())?{??
  • ????????????????case?MotionEvent.ACTION_DOWN?:??
  • ??
  • ????????????????????break;??
  • ????????????????case?MotionEvent.ACTION_MOVE?:??
  • ????????????????????View?view?=?((ScrollView)?v).getChildAt(0);??
  • ????????????????????if?(view.getMeasuredHeight()?<=?v.getScrollY()?+?v.getHeight())?{??
  • ????????????????????????//加載數據代碼??
  • ????????????????????}??
  • ????????????????????????break;??
  • ????????????????default?:??
  • ????????????????????????break;??
  • ????????????????}??
  • ????????????}??
  • ????????});??

  • 4.測試的時候 發現這樣會導致滑動多次觸發,所以優化代碼如下


    [java] view plaincopy
  • private?int?index?=?0;??
  • //?滑動加載??
  • ????????scrollView.setOnTouchListener(new?OnTouchListener()?{??
  • ??
  • ????????????@Override??
  • ????????????public?boolean?onTouch(View?v,?MotionEvent?event)?{??
  • ????????????????//?TODO?Auto-generated?method?stub??
  • ??
  • ????????????????switch?(event.getAction())?{??
  • ????????????????????case?MotionEvent.ACTION_DOWN?:??
  • ??
  • ????????????????????????break;??
  • ????????????????????case?MotionEvent.ACTION_MOVE?:??
  • ????????????????????????index++;??
  • ????????????????????????break;??
  • ????????????????????default?:??
  • ????????????????????????break;??
  • ????????????????}??
  • ????????????????if?(event.getAction()?==?MotionEvent.ACTION_UP?&&??index?>?0)?{??
  • ????????????????????index?=?0;??
  • ????????????????????View?view?=?((ScrollView)?v).getChildAt(0);??
  • ????????????????????if?(view.getMeasuredHeight()?<=?v.getScrollY()?+?v.getHeight())?{??
  • ????????????????????????//加載數據代碼??
  • ????????????????????}??
  • ????????????????}??
  • ????????????????return?false;??
  • ????????????}??
  • ????????});??


  • 安卓開發論壇 ? http://www.eoeandroid.com/

    總結

    以上是生活随笔為你收集整理的scrollview 实现滑动到底部再滑动加载数据的功能的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。