我在相同的布局中创建了两个ScrollView。你可以说一个平行的scrollview。我想手动滚动一个scrollview,作为响应,另一个scrollview应该完全相同的方式滚动。两个视图的滚动长度相同。 对于两个滚动视图,这应该是相同的。我试过这个代码。
REGEXP
这里发生的事情是第一次" B" scrollview它工作正常,但对于" D" scrollview它在滚动时产生问题。 我理解这个问题,但无法得到解决方案。那么当另一个人正在调用" onScrollChangeListener()"时,我应该怎么做才能避免打电话。
答案 0 :(得分:1)
覆盖HorizontalView类
package com.example.shaby.payshare;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.HorizontalScrollView;
/**
* Created by shaby on 3/7/2017.
*/
public class HorizontalScroll extends HorizontalScrollView {
private ScrollViewListener scrollViewListener = null;
public interface ScrollViewListener {
void onScrollChanged(HorizontalScroll scrollView, int x, int y, int oldx, int oldy);
}
public HorizontalScroll(Context context) {
super(context);
}
public HorizontalScroll(Context context, AttributeSet attrs) {
super(context, attrs);
}
public HorizontalScroll(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setScrollViewListener(ScrollViewListener scrollViewListener) {
this.scrollViewListener = scrollViewListener;
}
@Override
protected 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);
}
}
}
在所需的课程中实施界面