2016-11-18 12 views
-1

我有一個Listview和一個適配器。 Listview的每一行都有一個EditText框。從適配器更改ListView的另一個位置的EditText的值

我想要一個文本框的onTextChanged設置最後一行EditText框的值。

列表中的數據由字符串ArrayList組成。所以每一行都是ArrayList的一個位置。

從適配器我可以修改ArrayList的特定位置的值,但我不知道如何獲取特定位置(最後一個)的EditText的引用以設置值。

任何想法?

+0

請把你的代碼,這樣有人可以更好地瞭解你的問題 – AJay

+0

if(位置==大小列表1){ editText.setText(「你想要什麼」); } 只是一個想法 –

回答

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和setItems傳遞arrayList的最後一行數據時,記住爲每個字母改變調用它是非常低效的,因爲適配器將查找數據來替換它如果需要的話。

相關問題