今天在写android滑动切换Activity时遇到一个问题。
就是android布局在一个界面上嵌套多层item,每次滑动时切换Activity时,被上层item挡住以至于触发不了滑动事件,触发不了onFling()函数
我底层是LinearLayout,然后嵌套了ScrollView,最上面是一个ListView,监听了底层的LinearLayout。
LinearLayout viewSnsLayout = (LinearLayout)findViewById(R.id.root_container);
viewSnsLayout.setOnTouchListener(this );
viewSnsLayout.setLongClickable(true );
滑动时被ListView挡住了,触发不了OnFling()函数
解决方法是
override listview 所在activity 的dispatchTouchEvent 方法
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
mGestureDetector 是GestureDetector的一个实例
dispatchTouchEvent的用法见下面的文章
http://liuqiaowei.ueuo.com/wordpress/?p=44
查看原文:http://liuqiaowei.ueuo.com/wordpress/?p=46