生活随笔
收集整理的這篇文章主要介紹了
scrollview 实现滑动到底部再滑动加载数据的功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路:在滑動基礎上添加scrollview到底檢測事件
1.首先檢測是否滑動
[java] view plaincopy
??????????scrollView.setOnTouchListener(new?OnTouchListener()?{????????????????@Override??????????????public?boolean?onTouch(View?v,?MotionEvent?event)?{??????????????????????????????????????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)?{??????????????????????????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)?{??????????????????????????????????????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 实现滑动到底部再滑动加载数据的功能的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。