2016-11-18 9 views
-1

私はListviewとアダプタを持っています。 Listviewの各行には、EditTextボックスがあります。ListViewの別の位置のEditTextの値をアダプタから変更します

テキストボックスのonTextChangedを使用して、最後の行のEditTextボックスの値を設定します。

リストのデータは、StringのArrayListで構成されています。したがって、各行はArrayListの位置です。

私はArrayListの特定の位置の値を変更できますが、値を設定するために、特定の位置(最後のもの)のEditTextの参照を取得する方法がわかりません。

アイデア?あなたはこのようなあなたのアダプタでsetItems()&にgetItems()メソッドを実装する必要があり

+0

あなたの質問をよりよく理解できるように、コードを書いてください。 – AJay

+0

if(position == list-1のサイズ){ editText.setText( "あなたは何を望みますか? } アイデア –

答えて

1

:アダプタのコンストラクタで

public ArrayList<String> getItems(){ 
    return this.items; 
} 

public void setItems(ArrayList<String> items){ 
    this.items = items; 
    notifyDataSetChanged(); 
} 

は、ArrayListのを渡すと、あなたのデータを保持するグローバル変数に保存します(this.items)。

最終行のgetItemsを変更するたびに、arrayListを渡すarraylistとsetItemsの最後の行データを変更します。アダプタが置換するデータを探しているので、文字の変更ごとにこれを呼び出すことはかなり効率が悪いことに注意してください必要に応じて。

関連する問題