2

我们有一个refreshingView<shirt>(包含在边框内)设置,在刷新视图之外,我们有一个 ajaxLink,它将一个新的衬衫对象添加到支持刷新视图的列表中。refreshView 包含文本字段和下拉菜单,供用户输入有关衬衫的信息。

在 ajaxLink 内部,我们将衬衫添加到列表中,然后将整个边框添加到 ajaxLink 的目标,从而刷新边框。当您添加一行并填写信息(衬衫颜色、尺码、款式等)并添加另一件衬衫时,就会出现问题。添加了新衬衫的另一行,但同时输入的有关第一件衬衫的所有信息都丢失了。

关于如何保留以前输入的衬衫信息的任何想法?

4

1 回答 1

5

之前的数据会丢失,因为 refreshView 在每次渲染后都会丢弃所有的 Item(以及包含数据的模型)。

您可以设置 ItemReuseStrategy:

refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());

另一种更复杂的方法是只重绘新添加的行。请参阅此处的答案:我可以在不刷新后者的情况下将元素添加到 RepeatingView 吗?

于 2012-09-05T14:09:42.583 回答