android – onScrollChanged在scrollView中多次触发滚动结束

我已经实现了一个侦听器类来检测链接 https://gist.github.com/marteinn/9427072的滚动视图结束
public class ResponsiveScrollView extends ScrollView {

private OnBottomreachedListener listener;

public ResponsiveScrollView(Context context) {
    super(context);
}

@Override
protected void onScrollChanged(int l,int t,int oldl,int oldt) {
    View view = getChildAt(getChildCount()-1);
    int diff = view.getBottom()-(getHeight()+getScrollY());
    if (diff == 0 && listener!= null) {
        listener.onBottomreached(this);
    }
    super.onScrollChanged(l,t,oldl,oldt);
}

public OnBottomreachedListener getBottomChangedListener() {
        return listener;
}

public void setBottomreachesListener(OnBottomreachedListener onBottomreachedListener) {
    this.listener = onBottomreachedListener;
}

public interface OnBottomreachedListener {
    public void onBottomreached(View view);
   }
}

监听器设置为scrollView:

scrollView.setBottomreachesListener(new GenericScrollListerner(this));

我的GenericScrollListerner类:

public class GenericScrollListerner implements ResponsiveScrollView.OnBottomreachedListener {
private Context mContext;

public GenericScrollListerner(Context context) {
    this.mContext = context;
}

@Override
public void onBottomreached(View view) {
    Log.d("ScrollView","Scroll end");
    String tag = (String) view.getTag();
    Toast.makeText(mContext,"Scroll end with tag" +tag,Toast.LENGTH_SHORT).show();
}

}

我的问题是onBottomreached在大多数情况下都会触发两次.如何处理这个问题???

解决方法


504 Gateway Time-out

504 Gateway Time-out

Nginx/1.12.2

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...