好吧,又没有人回答问题,自己去重写listview

解决方案 »

  1.   


    我来回复一下listView 如果都是自己自定义的,那ontouch里应该可以判断掉。
    正常情况下 View的onTouch  首先在Touchdown时,要返回true,这样后期事件就都到这个View了。如果返回false了,那肯定不是这个View消费自然 所有move up之类都传递到listView去了。item里的View超出返回,要看你怎么超出的,是布局的话,目测系统会正确绘制,要是自己用canvas偏出之类,很可能是计算上的问题。
      

  2.   


    我来回复一下listView 如果都是自己自定义的,那ontouch里应该可以判断掉。
    正常情况下 View的onTouch  首先在Touchdown时,要返回true,这样后期事件就都到这个View了。如果返回false了,那肯定不是这个View消费自然 所有move up之类都传递到listView去了。item里的View超出返回,要看你怎么超出的,是布局的话,目测系统会正确绘制,要是自己用canvas偏出之类,很可能是计算上的问题。你说的是错的,你返回true,它还是返回到上层view也就是listview那里,所以我这里做不下去,,,
      

  3.   


    我来回复一下listView 如果都是自己自定义的,那ontouch里应该可以判断掉。
    正常情况下 View的onTouch  首先在Touchdown时,要返回true,这样后期事件就都到这个View了。如果返回false了,那肯定不是这个View消费自然 所有move up之类都传递到listView去了。item里的View超出返回,要看你怎么超出的,是布局的话,目测系统会正确绘制,要是自己用canvas偏出之类,很可能是计算上的问题。你说的是错的,你返回true,它还是返回到上层view也就是listview那里,所以我这里做不下去,,,我不知道你代码里怎么处理,按照一般默认情况子View onTouch Down时返回了true,父View应该接受不到后期消息才对。
    可以试试 View有个屏蔽上层touch事件的接口名字叫啥给忘记了,应该可以查到。可以确信的是 在dispatchTouchEVENT的接口里 不处理父类接口,就可以完全控制事件分发,进而控制哪个VIew的ontouch接受。