1

アプリケーションに設定メニューがあります。メニューボタンをクリックすると、設定アイコンをクリックすると、設定アクティビティが表示されます。設定レイアウトにはリストビューが含まれ、各リストビュー項目はtextview(設定の説明)とedittext(設定データ)で構成されます。SQLiteデータベースの設定テーブルにデータを保存し、次のようにすべての設定をアダプター(ListAdapter)とlistViewに追加します。

Cursor cursor = dbAdapter.fetchSettings();
startManagingCursor(cursor);
String[] from = new String[] { "description", "data" };
int[] to = new int[] { R.id.settingsDesc, R.id.settingsText };
listAdapter = new SimpleCursorAdapter(this,
R.layout.settings_menu_item, cursor, from, to);
listView.setAdapter(listAdapter);

ご覧のとおり、設定データを変更できます。私の質問は、edittext要素のいずれかのテキストを変更したときにデータベースを更新するにはどうすればよいですか?[設定]レイアウトに[保存]ボタンもあり、それをクリックするとデータベースが更新されます。簡単な方法があるといいのですが。

4

1 に答える 1

0

選択した editText 値の ID を取得し、データベースを更新する更新クエリを起動できます。cursor.requery()その後、 and を使用して ListView を再設定できますnotifyDataSetChanged()

だから、保存ボタンで

1.) Fire the update query for the selected row.
2.) cursor.requery();
3.) adapter.notifyDataSetChanged();
于 2011-12-14T09:28:45.317 に答える