android ScrollView实现上拉、下拉更新
生活随笔
收集整理的這篇文章主要介紹了
android ScrollView实现上拉、下拉更新
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
項(xiàng)目中需要實(shí)現(xiàn)對listView的上拉加載更多的功能,忙了一上午也沒搞定,從網(wǎng)上看到一篇文章實(shí)現(xiàn)了listView的下拉功能,在參照著改的過程中,實(shí)現(xiàn)了另一種形式的上拉、下拉更新,參照文章http://hi.baidu.com/czqaiyss/blog/item/3ac75ddf9a9882becc1166d1.html
本例demo下載鏈接:http://download.csdn.net/detail/hwwzyh/4403175
import com.boryou.pubClass.R;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ScrollView;
public class PullToRefreshScrollView extends PullToRefreshBase<ScrollView> {
?? ?private final OnRefreshListener defaultOnRefreshListener = new OnRefreshListener() {
?? ??? ?@Override
?? ??? ?public void onRefresh() {
?? ??? ??? ?onRefreshComplete();
?? ??? ?}
?? ?};
?? ?public PullToRefreshScrollView(Context context) {
?? ??? ?super(context);
?? ??? ?/**
?? ??? ? * Added so that by default, Pull-to-Refresh refreshes the page
?? ??? ? */
?? ??? ?setOnRefreshListener(defaultOnRefreshListener);
?? ?}
?? ?public PullToRefreshScrollView(Context context, int mode) {
?? ??? ?super(context, mode);
?? ??? ?/**
?? ??? ? * Added so that by default, Pull-to-Refresh refreshes the page
?? ??? ? */
?? ??? ?setOnRefreshListener(defaultOnRefreshListener);
?? ?}
?? ?public PullToRefreshScrollView(Context context, AttributeSet attrs) {
?? ??? ?super(context, attrs);
?? ??? ?/**
?? ??? ? * Added so that by default, Pull-to-Refresh refreshes the page
?? ??? ? */
?? ??? ?setOnRefreshListener(defaultOnRefreshListener);
?? ?}
?? ?@Override
?? ?protected ScrollView createRefreshableView(Context context, AttributeSet attrs) {
?? ??? ?ScrollView scrollView = new ScrollView(context, attrs);
?? ??? ?scrollView.setId(R.id.webview);
?? ??? ?return scrollView;
?? ?}
?? ?@Override
?? ?protected boolean isReadyForPullDown() {
?? ??? ?Log.d("text", "mScrollView.getHeight()="+this.getHeight());
?? ??? ?return refreshableView.getScrollY() == 0;
?? ?}
?? ?@Override
?? ?protected boolean isReadyForPullUp() {
?? ??? ?ScrollView view = getRefreshableView();
?? ??? ?int off=view.getScrollY()+view.getHeight()-view.getChildAt(0).getHeight();
?? ??? ?Log.d("text", "view.getScrollY()="+view.getScrollY()+",view.getChildAt(0).getHeight()"+view.getChildAt(0).getHeight());
?? ??? ?if(off==0){
?? ??? ??? ?return true;
?? ??? ?}else{
?? ??? ??? ?return false;
?? ??? ?}
??????? /* if (view.getScrollY() + view.getHeight() >=? view.getMeasuredHeight()) { ?
???????????? //加載數(shù)據(jù)代碼 ?
?????? ??? ? return true;
???????? } else{
?? ??? ??? ?return false;
?? ???? }? */
?? ??? ?//return (refreshableView.getScrollY() >= refreshableView.getHeight());
?? ?}
}
總結(jié)
以上是生活随笔為你收集整理的android ScrollView实现上拉、下拉更新的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scrollview 实现滑动到底部再滑
- 下一篇: 让android的TextView可以滚