当前位置:编程学习 > wap >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,