我在布局文件中为我的Android应用添加了ScrollView
。我还创建了一个class MyScrollView extends ScrollView
来实现一些自定义行为。但是当我将ScrollView转换为 -
MyScrollView msv = (MyScrollView) findViewById(R.id.scroll_view);
它引发了一个错误,指出ScrollView无法强制转换为MyScrollView。我如何使用自定义实现?
编辑:
这是MyScrollView的实现 -
class MyScrollView extends ScrollView {
private GestureDetector gd;
private View.OnTouchListener tl;
public MyScrollView() {
super(ItemDetailFragment.this.getActivity());
}
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
gd = new GestureDetector(context, new YScrollListener());
setFadingEdgeLength(10);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev) && gd.onTouchEvent(ev);
}
class YScrollListener extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
return (Math.abs(distanceY) > 2 * Math.abs(distanceX));
}
}
}
答案 0 :(得分:0)
只需将MyScrollView
放在xml布局中,而不是标准ScrollView
,例如
<com.your.app.MyScrollView
android:id="@+id/theScrollView"
... >
确保您的类具有标准构造函数。