0

我有动态列表视图,其中 textview 和 edittext 是两列。textview 带有正确的数据,但是当我在第一行的edittext 中插入值时,我向下滚动列表,在第三行中,edittext 填充有第一行的edittext 值。我不知道为什么会这样。请帮我。

4

2 回答 2

1

请提供一些代码,以便我们更好地理解问题。据我了解,这是正在发生的事情。适配器生成屏幕上可以容纳的尽可能多的视图。当您向下滚动列表时,需要生成一个新项目。这可以在如下所示的 getView() 方法中以两种方式完成。

public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){  
      //inflater is the layout inflater for the custom view
      convertView=inflater.inflate(R.layout.list_row, null); 
      return convertView;
}
else{
    return convertView; //recycled view
    }
}

convertView 是刚刚离开屏幕并可供回收的视图。在您的情况下,它应该被销毁但又被重用的 convertView 。所以编辑文本值重新出现在下面的视图中。

于 2012-11-23T11:51:29.327 回答
0

我想这是因为您正在为具有具体 ID(手动设置)的项目膨胀布局,而 android 可能认为所有 listview 的项目都是相同的

但是,如果您需要真正的帮助,请在此处粘贴一些代码和布局……我们不是算命先生

于 2012-11-23T11:13:35.070 回答