2011-07-25 9 views
0

私はそれにチェックリストを行うアプリケーションを構築しています。これでは、単純なリストビューを持っていますが、その中に編集可能な編集テキストがあります。私はリストに初期値を設定することができます。エディットテキストにテキストを入力すると、getviewの間のどこかにアダプタが呼び出され、リストビューがリフレッシュされます。私はいつどこでデータソースを更新し続けているのか、また編集テキストを入力しているかについてラウンドを試みました。これで、更新後も値が保存されます。しかし、問題は私がテキストを入力し続け、リストの更新の間に、私は編集テキストからフォーカスを失うことです。この問題に対処する方法を教えてください。どんな種類の助けや助言をいただきありがとうございます。Androidリストビューでチェックリストを行うには?

答えて

2

あなたはリストの状態を追跡する必要があります。私はアダプタを拡張し、アダプタのすべてのビューのHashMapを保持することでこれを行いました。私のListViewで、onSaveInstanceStateで、私は私のアダプタを取得し、すべてのビューを反復 - 各ビューについては、私はonSaveInstanceStateを呼び出し、私のアダプタのハッシュマップに結果を格納します。次に、onRestoreInstanceStateの間に、すべてのビューを反復して、onRestoreInstanceStateメソッドを呼び出して、保存した状態に渡します。幸せなコーディング -

これは...あなたのデータおよびあなたの焦点の問題の両方を解決するに

幸運をもたらすべきです。

+0

のように行うことができます

Bは助けてくれてありがとう。これは、リストビューコントロールでアクティビティクラスから始めるのが良いか、このリストのListActivityで始めるのがよいでしょうか。あなたのアイデアを教えてください。ありがとうございました。 – Vinodtiru

+0

私はそれが本当にあなたの設計目標と時間の制約にかかっていると思います。 ListActivityはListViewよりもはるかに速いですが、必要に応じて他のアクティビティで何度でもListViewを再利用することができます。 ListActivityを使用してリストを作成すると、再利用性が欠けますが、より速く完了します。私は通常、柔軟性の面で間違っていますが、それは私のコードがすべて私に長くかかり、私はしばしば工学的に批判されます:) – Brian

3

この

ListView lw= (ListView) findViewById(R.id.ListView01); 
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked ,value)); 
関連する問題