2011-06-30 110 views
0

我有ListView重新呈现和更改列表视图视图内的值的问题。每个单元格都有交互式元素,数值已设置,不幸的是一旦屏幕出现,这些数字就会随机重新渲染!Android商店listview视图到ArrayList

我已经发现Listview需要有一个扩展视图类,允许存储该位置的值。

我需要传递几个值,到目前为止,我所看到的所有例子都只显示了一个方法,每个单元格有一个值(指http://commonsware.com/Android/excerpt.pdf),我正在寻求如何为我的应用程序存储值的帮助。

我有一个“总数”计数,和一个单独的计数,我可以通过列表视图单元格内的按钮增加和减少值。我需要将这些单独的总计和值存储在视图中的该位置内。我想我会有一个方法/构造函数,只是包含这些值,但在这种语法似乎是超级。不会允许这个覆盖。

Insight已确认。如果没有代码,这不清楚,确定只是让我知道。但是,如果你已经熟悉这个问题以及解决这个问题的最普通的方法,那也会很棒。

回答

2

Listview可以回收它的视图,所以如果你没有使用适合你的用途的自定义适配器显式地显示你正在显示的值,那很可能是它出错了。无论何时您将列表视图中的视图滚动出屏幕,都会丢弃其中的所有值,并将其粘贴到新数据的顶部。

因此,您可能需要的是一个自定义适配器,用于存储要显示的数字;这里是一个很好的开始从更好的理解它:http://developer.android.com/videos/index.html#v=wDBM6wVEO70

+0

我明白了,我只是不知道如何实现它呢!我在某些活动中的一些列表视图正在使用内部具有额外功能的自定义适配器......但我不确定我需要添加到这些功能以使它们存储数据!一个数组也许? – CQM

+0

好呀;如果您已经使用了arraylist适配器,并且您已经拥有了在构造函数中传递的数据的数组列表,那么可以在适配器子类中保存对其的引用,以便您直接更改数据。否则,你可以定义你自己的数组来保存c的数据。 – MrJre