我有一个Listview和一个适配器。 Listview的每一行都有一个EditText框。
我想在文本框的onTextChanged中设置最后一行EditText框的值。
列表的数据由字符串的ArrayList组成。所以每一行都是ArrayList的位置。
从适配器我可以修改ArrayList的特定位置的值,但我不知道如何获取特定位置(最后一个)的EditText的引用以设置值。
有什么想法吗?
答案 0 :(得分:1)
你需要实现一个setItems()&你的适配器中的getItems()方法如下:
public ArrayList<String> getItems(){
return this.items;
}
public void setItems(ArrayList<String> items){
this.items = items;
notifyDataSetChanged();
}
在适配器的构造函数中传递arrayList并将其保存到保存数据的全局变量(this.items)。
每当你想改变最后一行调用getItems时,修改arraylist的最后一行数据和传递arrayList的setItems,请记住为每个字母更改调用它是非常低效的,因为适配器将查找数据以替换它需要的。