我有一个包含大约 30 个项目的列表视图。当我向下滚动它时,它只会进入列表的最底部,并且在用户触摸列表时不会停止。
是否有一种方法可以在触摸列表视图时停止滚动,同时用户应该能够使用 onItemClick(已经处理)进行导航。
谢谢!
我有一个包含大约 30 个项目的列表视图。当我向下滚动它时,它只会进入列表的最底部,并且在用户触摸列表时不会停止。
是否有一种方法可以在触摸列表视图时停止滚动,同时用户应该能够使用 onItemClick(已经处理)进行导航。
谢谢!
@Override
public boolean onTouchEvent(MotionEvent ev)
{
switch (ev.getAction())
{
case MotionEvent.ACTION_UP:
this.smoothScrollBy(0, 0);
break;
}
return super.onTouchEvent(ev);
}
通过参考 Nitin Gupta 的回答,我想出了自己的:
public class OnTouchListenr implements OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
businessResultListView.smoothScrollBy(0, 0);
return true;
}
return false;
}
}
然后我在列表视图上设置 OnTouchListener,如下所示:
businessResultListView.setOnTouchListener(new OnTouchListenr());
在 Listview 中覆盖dispatchTouchEvent
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
if(ev.getAction()==MotionEvent.ACTION_MOVE){
return true;
}return super.dispatchTouchEvent(ev);
}