【问题标题】:How to implement listview in scrollview in Android如何在Android的scrollview中实现listview
【发布时间】:2017-12-10 23:29:21
【问题描述】:

我在滚动视图中使用列表视图,但问题是滚动视图正在滚动,但列表视图没有滚动。

【问题讨论】:

标签: android listview scrollview


【解决方案1】:

使用下面的方法,尽情享受吧!

    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);

还有其他的请与我们分享。

【讨论】:

  • 不适合我。检测到触摸并进入 Action.But 列表视图内没有滚动
  • 它的动作就像拖动一样。试试看。
【解决方案2】:

覆盖listview onMeasure方法

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
    MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec,expandSpec);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多