firstVisibleItem,visibleItemCount,totalItemCount甚至不会更改Scroll事件发生

时间:2015-05-07 10:15:02

标签: android android-layout listview android-scrollview

我有一个包含Listview的ScrollView,但是即使我滚动列表视图,onscroll()方法中的三个参数也不会改变,它们与初始状态保持一致。

这是我的布局

enter image description here

此外,我处理滚动事件的代码,注意 contentlist 是listview而不是scrollview。

enter image description here

然而正如你在logcat中看到的那样,即使我滚动并且可见项目数应该只有两个,也没有任何变化

enter image description here

enter image description here

我想知道是否因为listview的高度导致了这个问题?

由于

2 个答案:

答案 0 :(得分:1)

ListView置于ScrollView内总会导致问题..为什么不在ListView中使用SwipeRefreshLayout并使用addHeaderView()来在它上面显示你的LinearLayout

答案 1 :(得分:1)

首先,我无法理解你为什么在ScrollView中保留了ListView。

您不应该将ListView放在ScrollView中,因为ListView类实现了自己的滚动,它只是不接收手势,因为它们都由父ScrollView处理。

但是如果您仍然需要ScrollView中的ListView,您可以向ListView添加触摸侦听器并禁用父ScrollView的触摸事件。

contentList.setOnTouchListener(new OnTouchListener() {
    // Setting on Touch Listener for handling the touch inside ScrollView
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    // Disallow the touch request for parent scroll on touch of child view
    v.getParent().requestDisallowInterceptTouchEvent(true);
    return false;
    }
});

希望它有所帮助.. :)