Android ListView,而非所有Touch-Events

til*_*ner 2 android listview touch

我想使用ListView包含自定义视图的(之前已成功完成此操作).基本上这些自定义视图是垂直滑块,显然与自然行为相冲突ListView.我用我的自定义视图填充它Adapter,这些对项目的触摸作出反应,但是一旦我移动手指超过几个像素,它将滚动,并且自定义视图将不再接收任何触摸事件.

ListView当我触摸自己的组件时,我怎么能(很好地)阻止滚动?

我可以以某种方式禁用ListView选择,只是将触摸转发到项目,但仍然使用滚动行为?

先感谢您.

Lax*_*nda 8

为了防止滚动列表视图,您可以按如下方式在触摸侦听器上进行操作

listView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction()==MotionEvent.ACTION_MOVE)
            {
                return true;
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

希望它会起作用,如果我们对你有用,那就投票吧