暂时禁用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怎么办?我正在处理一种情况,我不能简单地将其更改为一个片段,这将需要大量的工作。我已经设法找到了一个解决方案,但它不工作,只有当你有可点击的意见内。我的意志缺失在哪里?我正在寻找一个非常非常简单的解决方案。