Hello每个我在自定义ScrollView中都有一个GridView
这是我正在使用的代码 公共类CustomScrollView扩展了ScrollView {
public CustomScrollView(Context context) {
super(context);
}
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action)
{
case MotionEvent.ACTION_DOWN:
Log.i("VerticalScrollview", "onInterceptTouchEvent: DOWN super false" );
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_MOVE:
return false; // redirect MotionEvents to ourself
case MotionEvent.ACTION_CANCEL:
Log.i("VerticalScrollview", "onInterceptTouchEvent: CANCEL super false" );
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_UP:
Log.i("VerticalScrollview", "onInterceptTouchEvent: UP super false" );
return false;
default: Log.i("VerticalScrollview", "onInterceptTouchEvent: " + action ); break;
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
super.onTouchEvent(ev);
Log.i("VerticalScrollview", "onTouchEvent. action: " + ev.getAction() );
return true;
}
}
对于网格视图,我添加了一个像这样的touchListener
gridview.setOnTouchListener(new GridView.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
scroll.onTouchEvent(event);
return false;
}
});
其中scroll是对上面给出的CustomScrollView的引用
CustomScrollView scroll=(CustomScrollView)findViewById(R.id.page);
我正在使用的网格视图是displayina日历 我想要做的是每当我触摸gridview时,事件都应该转移到CustomScrollView 这样我就可以滚动到CustomScrollView
它正在工作,但问题是当我尝试从GridView滚动时,屏幕闪烁很多,如果我尝试从gridview上方或下方的位置滚动它的工作正常
我错过了什么吗? 请帮助我一个星期以来一直在努力工作的人