如何在另一个滚动视图中滚动ListView

时间:2011-02-11 05:05:49

标签: android listview android-layout scrollview

全部交易,          我有个问题;          我有一个带有三个列表视图A,B,C的滚动视图的布局。          我想要滚动孔布局以及滚动每个列表视图。

问题:        如果我删除滚动布局,则列表视图不滚动,如果我删除滚动布局,则列表是滚动但布局不滚动。

请给我一个可能的解决方案提前致谢。

3 个答案:

答案 0 :(得分:0)

我们无法在scrollview中滚动listview,

因为listview本身包含滚动选项。

检查此链接

http://code.google.com/p/android/issues/detail?id=6552

这会有所帮助。

通过listview错误可以在滚动中执行该列表。

感谢。

答案 1 :(得分:0)

使用以下方法享受!

    private void setListViewScrollable(final ListView list) {
    list.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            listViewTouchAction = event.getAction();
            if (listViewTouchAction == MotionEvent.ACTION_MOVE)
            {
                list.scrollBy(0, 1);
            }
            return false;
        }
    });
    list.setOnScrollListener(new OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view,
                int scrollState) {
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            if (listViewTouchAction == MotionEvent.ACTION_MOVE)
            {
                list.scrollBy(0, -1);
            }
        }
    });
}

listViewTouchAction是一个全局整数值。 如果你可以替换

list.scrollBy(0, 1);

请与我们分享。

答案 2 :(得分:0)

这取决于您希望如何查看视图以及您希望如何滚动。

如果你想让它们都可以滚动,那么你应该在列表视图上应用一个固定的高度。有时会混淆哪个先滚动。

或者您可以在滚动视图中不滚动地填充整个列表,这将创建一个包含所有列表中所有项目的长列表。