Listview在快速滚动时跳到底部

时间:2015-02-14 14:52:36

标签: android listview layout android-listview

正如标题所说,我的listview存在这个问题。我没有使用任何普通的listview,我使用基于listview的可观察的scrollview库。

首先,我想澄清一些让你们更清晰的事情。

  1. 在我使用listview的自定义适配器布局更改了一些内容之前,我没有遇到此问题。

  2. 这看起来很奇怪,因为我之前没有遇到过这个问题。

  3. 它以不正常的速度滚动,我只是一掷千金它突然撞到了底部。

  4. 慢慢滚动并不会导致问题

  5. 我应该放慢我的列表视图并尝试,如果是这样的话?

  6. 我在滚动时加载了更多项目,我也有一个页脚视图,并且页脚视图只停留一秒或更短时间。

2 个答案:

答案 0 :(得分:3)

这也可能是由Android 5.1中的错误引起的。 The bug report can be found here。 ListView上的两次快速滑动导致它点击列表的顶部,然后立即滚动到底部。

目前唯一的解决方案似乎是使用ScrollView而不是ListView。

答案 1 :(得分:0)

getView方法中,您有

inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View v = inflater.inflate(R.layout.custom, parent, false);

替换为

if (convertView == null) {
    inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflater.inflate(R.layout.custom, parent, false);
}

而且,它会好得多。

顺便说一下,ViewHolder is not so hard。如果这不起作用,您正确实现ViewHolder。还要避免在getView中做太多的事情,并确保异步加载图像(大多数imageLoader库都会为你做这个)