2011-07-27 11 views
1

私は、次のアダプタAndroidのListViewコントロールと保存内容

this.setListAdapter(new JobTaskItemAdapter(this, jobTaskItems)); 

jobTaskItemsとListActivityがリストされ、10〜100のオブジェクトのサイズを変えることができる持っています。 アダプタは、各JobTaskItemのための新たな化合物のビューを返します -

[TextView][EditText][TextView] 

ユーザがリストを通過し、該当のEditTextボックスを編集し、[保存]オプションを選択します。次に、リスト内のすべてのビューを繰り返し処理し、編集したテキストを取得し、JobTaskItem文字列フィールドに保存してからSQLite dbに保存する必要があります。 しかし、画面からスクロールされたビューからデータにアクセスする方法がわかりません。

おかげ

することができますので、それは実際に画面をスクロールオフされているビューとは何の関係もありません...私は夫婦の問題がここにあると思い

答えて

0

このリンクは、最も洞察を深めました。 Dynamic length of Listview of Edittext not saving input

必要なリスナーを実装し、データをモデルに保存し直しました。 また、各モデルアイテムを各ビューのTagプロパティに保存しました。これは他の要件についても非常に重要です。

0

は、まず、あなたがあなたのxmlレイアウトでscrollViewを使用する必要がありますこれらのフィールドにアクセスし、次に、これらのcompnd [TextView] [EditText] [TextView]をjobTaskItemsのサイズに基づいてレイアウトに動的に追加していることを前提とします。私はこのような場合にはどうなるか、配列を経由してあなたのTextviews/EditTextsへの参照を設定し、動的にこれらのビューを追加し、あなたのループである:

TextView []TextViewArray1 = new TextView[jobTaskItems.length]; 
TextView []TextViewArray2 = new TextView[jobTaskItems.length]; 
EditText []EditTextArray = new EditText[jobTaskItems.length]; 

int i = 0; //used as array indexer 
for (your_dynamically_added_views) { 
    YOUR_CODE; 
    TextViewArray1[i] = Dynamic_TextView_1; 
    TextViewArray2[i] = Dynamic_TextView_2; 
    EditTextArray[i] = Dynamic_EditText; 
} 

次にあなたが操作

1

ため、後でこれらの値にアクセスすることができますListViewアイテムが画面から消えると、破棄/再利用できます。あなたはそれに頼ることはできません。リストがスクロールされる前にそれらのデータを保存する必要があります。

関連する問題