我有动态列表视图,其中textview和edittext是两列。 textview带有正确的数据但是当我在第一行的edittext中插入值时,我向下滚动列表,在第三行中,edittext填充第一行edittext值。我不知道为什么会这样。请帮帮我。
答案 0 :(得分: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应该被销毁但是再次被重用。因此,编辑文本值会重新出现在下面的视图中。
答案 1 :(得分:0)
我想这是因为你正在为具有具体ID(手动设置)的项目的布局充气,并且android可能认为所有listview的项目都是相同的
但是如果你想要真正的帮助,请在这里粘贴一些代码和布局......我们不是算命先生