私は Android プログラミングが初めてで、基本的な質問があります。
ListActivity
各行にとListView
がある を作成しましTextView
たRatingBar
。事前入力されたデータベースから値を読み取ることで、TextView
に値を表示できます。RatingBar
私はカスタムCursorAdapter
とそのbindView()
メソッドを介してこれを行っています、つまり
public class MyCursorAdapter extends CursorAdapter {
...
public void bindView(View view, Context context, final Cursor cursor) {
TextView name = (TextView)view.findViewById(R.id.name);
name.setText(cursor.getString(cursor.getColumnIndex(MyDbAdapter.KEY_NAME)));
RatingBar rating = (RatingBar)view.findViewById(R.id.life_bar_rating);
rating.setRating(cursor.getFloat(cursor.getColumnIndex(MyDbAdapter.KEY_RATING_VALUE)));
}
...
}
さて、私の問題は、ListActivity
すべての変更が一度にデータベースに保存されるように、ユーザーが「保存」ボタンをクリックできるようにしたいということです。行IDと評価値を取得して保存できるようにするには、アダプターをどのように反復処理しますか(または、これを行う別のより良い方法はありますか?)。
一度に保存したい理由は、ユーザーが単一の評価を変更するたびにデータベースを更新するのは悪い習慣だと思ったからです (これは簡単ですが)。フラッシュメモリ上。これは私の勘違いかもしれませんが、フラッシュメモリは読み書きの回数が限られていると思っていました。