本文主要是介绍解决ScrollView.setOnScrollChangeListener() API23问题;,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解决ScrollView.setOnScrollChangeListener() API23以上可用问题;
#
虽然现在很多人都是直接使用的RecycleView代替ScrollView,但今天我还是使用ScrollView.
1、首先自定义一个接口
public interface ScrollViewListener {
void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy);
}
2、创建一个类继承ScrollView
public class ObservableScrollView extends ScrollView {private ScrollViewListener scrollViewListener = null;public ObservableScrollView(Context context) {super(context);}public ObservableScrollView(Context context, AttributeSet attrs,int defStyle) {super(context, attrs, defStyle);}public ObservableScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public void setScrollViewListener(ScrollViewListener scrollViewListener) {this.scrollViewListener = scrollViewListener;}@Overrideprotected void onScrollChanged(int x, int y, int oldx, int oldy) {super.onScrollChanged(x, y, oldx, oldy);if (scrollViewListener != null) {scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);}}}
解释:ScrollView是拥有这个方法的,我们需要弄一个接口把它暴露出来。这样就可以用了,明白了原理,还是很简单的!
这篇关于解决ScrollView.setOnScrollChangeListener() API23问题;的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!