私は 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と評価値を取得して保存できるようにするには、アダプターをどのように反復処理しますか(または、これを行う別のより良い方法はありますか?)。
一度に保存したい理由は、ユーザーが単一の評価を変更するたびにデータベースを更新するのは悪い習慣だと思ったからです (これは簡単ですが)。フラッシュメモリ上。これは私の勘違いかもしれませんが、フラッシュメモリは読み書きの回数が限られていると思っていました。