ListViewItem 里 OnTouch事件与父级Activity事件冲突问题
有这样的一种需求,app的最外面是一个TabHost,有三个选项切换卡,其中的一个Activity 中 使用了ListView,同时对这个listItem中的每一行进行OnTouch监听,(目的为了实现像微信那样可以侧滑删除的效果),但是问题出来了,这一行当我滑动到最左边的时候只能触发当前行的OnTouch监听,没法办触发父Activity的TabHost的左右滑动事件,
请问各位大神们,如何我才能让这个item滑动到最左边的时候触发父级页面的TabHost里OnPageChange事件,而不是一直停留在当前行的OnTouch事件左右滑动事件呢?
--------------------编程问答-------------------- 你这个onTouch函数返回是true吗?
应该返回false。 --------------------编程问答-------------------- 这是这部分的代码,求大神解答下
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_UP:
//获得ViewHolder
final ViewHolder viewHolder = (ViewHolder) v.getTag();
//获得HorizontalScrollView滑动的水平方向值.
int scrollX = viewHolder.hSView.getScrollX();
//获得操作区域的长度
final int actionW = viewHolder.action.getWidth();
//注意使用smoothScrollTo,这样效果看起来比较圆滑,不生硬
//如果水平方向的移动值<操作区域的长度的一半,就复原
if (scrollX < actionW / 2)
{
viewHolder.hSView.smoothScrollTo(0, 0);
}
else//否则的话显示操作区域
{
mShowPosition = showPosition;
viewHolder.hSView.smoothScrollTo(actionW+200, 0);
//notifyDataSetChanged();
// viewHolder.hSView.post( new Runnable() {
// @Override
// public void run() {
// viewHolder.hSView.smoothScrollTo(actionW+200, 0);
// }
// });
}
return true;
}
return false;
}
}); --------------------编程问答-------------------- switch里面的也返回false --------------------编程问答-------------------- 试过了,没有用,而且如果switch 里面也返回true后smoothScrollTo也不起作用了,额....
补充:移动开发 , Android