如何在Android中滚动ListView时避免刷新页面。

3
我不想刷新我的列表视图。当我滚动屏幕时,列表视图会被刷新... 我不希望它发生... 我该怎么办?
  <ListView android:id="@+id/android:list"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:layout_below="@id/edittxt_username"
              android:scrollbars="vertical"
                android:layout_marginBottom="0sp"
              />

好的,翻译如下:

好的,编辑我的真实需求

我在我的列表视图中使用了一个复选框

最终的复选框 chb =(CheckBox)v.findViewById(R.id.editcheckbox);

                    chb.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View view) {
                            if (chb.isChecked() == true) {
                                CheckedMessages.add(f);

                            } else if (chb.isChecked() == false) {
                                CheckedMessages.remove(f);
                            }
                        }
                    });`

假设列表中有20个项目,我检查了第一个项目...滚动后,我看到第6个项目已经被选中了...再次滚动,我看到第13个项目已经被选中了...我认为这可能是由于刷新引起的...原因是什么?

为什么刷新是不好的?实际问题是什么? - Gyan aka Gary Buyn
3个回答

2
ListView滚动时,它使用ListAdapter来显示新项目。每当新项目变得可见时,ListView会要求适配器刷新该项目的视图。此外,ListView可能会缓存某些项目的视图以提高性能。
我不确定您想要实现什么,但您无法禁用ListView的刷新。这基本上是ListView最初实施的原因之一:智能刷新。
您应该描述您想要实现的内容,我感觉它与ListView的刷新本身无关。

1

查看这个有关 ListView 的视频Google IO 2010 - World of ListView

我认为这是不可能的。并且你的应用程序设计存在问题。 请提供更多详细信息,说明为什么你不希望在滚动时刷新 ListView 的项目。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接