被雨淋过的落叶 2015-06-03 07:50 采纳率: 0%
浏览 855

ListView scrollTo不加载

现在的需求是实现listView翻页,由于我的Listview每一项的高度不一样,所以用setSelection、scrollToPosition不合适,想用scrollTo去移动Y的位置,但是跳过去了,数据不加载,是什么原因?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 23:02
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能有多种原因,这里我将列出一些常见的可能性:

    1. 您的列表项高度不同。如果您的列表项高度不相同,那么您需要确保在滚动到列表中的某个位置时,所有列表项都在同一水平线上。

    2. 列表项没有正确设置android:layout_height属性。如果列表项的android:layout_height属性值不是“wrap_content”,那么当滚动到列表中某一行时,可能会出现跳跃的情况。

    3. ListView没有正确设置android:scrollbars属性。如果没有设置android:scrollbars="vertical",则滚动条不会显示在底部,这可能导致列表项无法被正确地定位。

    4. onCreate()方法中设置了mScrollingEnabledfalse。这将会阻止滚动事件的发生。

    5. onMeasure()方法返回了0。这会使得ListView无法知道屏幕的高度和宽度,从而导致错误的行为。

    6. onDraw()方法中调用了invalidate()方法。这会导致ListView重新绘制,而不是更新其内容。

    7. 列表项的布局方式不正确。例如,使用android:orientation="horizontal"或者android:orientation="vertical"可能会导致问题。

    8. ListView的布局文件没有正确设置android:stretchMode="fill_parent"

    9. ListView的适配器没有正确处理数据的变化。

    10. ListView的监听器没有正确绑定。

    为了解决这些问题,您可以尝试以下步骤:

    1. 确保所有的列表项都具有相同的android:layout_height属性,并且它们的高度相等。
    2. 确保android:scrollbars="vertical"属性被正确地设置。
    3. 确保mScrollingEnabled字段已经被正确地初始化或设置为true。
    4. 确保在onCreate()方法中,mScrollingEnabled字段已经设置为true。
    5. 确保在onMeasure()方法中,mScrollingEnabled字段已经设置为true。
    6. 确保在onDraw()方法中,mScrollingEnabled字段已经设置为true。
    7. 确保android:stretchMode="fill_parent"属性已经被正确地设置。
    8. 确保适配器正确地处理数据变化。
    9. 确保监听器正确地绑定。

    如果您仍然遇到问题,请提供更多的细节,以便我能更好地帮助您解决问题。

    评论

报告相同问题?