我有一个简单的应用程序,用于学习来自 .Net 世界的 Java / android。在这个应用程序中,我有一个 ListView。ListView 绑定到一个集合并按应有的方式显示所有内容。我有一个允许用户导航的下一个和上一个按钮,这些按钮也可以工作。
我想要停止的是用户滚动列表的能力。我希望他们使用导航按钮。我在想当用户滚动时一定会引发一些事件。我打算拦截那个事件并“吞下”它。在寻找那些事件时,我遇到了 SetScrollContainer(false)。问题是,做任何事似乎都无关紧要。我还可以scroll vertically
。
所以我的最终问题是使用SetScrollContainer
或拦截事件还是其他选项是如何最好地禁用用户在 ListView 中滚动?
我还看到一篇晦涩难懂的文章,说要实现一个听起来像继承的自定义 ListView。我对这个概念很满意,但不确定android & java
是否真的需要这种复杂性?
TIA JB
如下评论中讨论的代码:
//Get a handle on our ListView
lstvw_LiftData = (ListView)findViewById(R.id.lstvw_LiftData);
lstvw_LiftData.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
return true; // Indicates that this has been handled by you and will not be forwarded further.
}
return false;
}
}
);