暂时禁用Android ListFragment滚动?
是否可以使用暂时禁用Android ListFragment滚动?,android,scroll,android-listfragment,Android,Scroll,Android Listfragment,是否可以使用getListView()方法将ListFragment设置为不滚动 getListView().setScrollContainer(false)不起作用 编辑: 奇怪的行为。本应阻止列表,但如果您反复触摸列表,您仍然可以缓慢滚动列表 scrollView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEv
getListView()
方法将ListFragment
设置为不滚动
getListView().setScrollContainer(false)代码>不起作用
编辑:
奇怪的行为。本应阻止列表,但如果您反复触摸列表,您仍然可以缓慢滚动列表
scrollView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return isBlockedScrollView;
}
});
如果您需要禁用ListFragment
滚动(与常规ListView
不同),可以在onCreate
中使用此方法来实现解决方案:
getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
view.smoothScrollBy(0,0);
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
view.smoothScrollBy(0,0);
}
});
如果您想临时设置它,只需添加满足您需要的条件。您可以像在本回答中使用scrollview那样扩展listview。我认为ListFragment的行为有点不同,但您不必使用ListFragment。您可以在其中使用常规片段和ListView。无论如何,链接上的答案可以解决你的问题。唯一缺少的是你修复它的意愿。是的,但你不必使用ListFragment。
如果我必须使用ListFragment怎么办?我正在处理一种情况,我不能简单地将其更改为一个片段,这将需要大量的工作。我已经设法找到了一个解决方案,但它不工作,只有当你有可点击的意见内。我的意志缺失在哪里?我正在寻找一个非常非常简单的解决方案。