我是 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 和评级值,以便可以保存它们(或者有另一种更好的方法吗?)。
我想一次性保存的原因是因为我认为每次用户更改单个评分时更新数据库是一种不好的做法(即使这更容易),因为这会导致更多的磨损在闪存上。我对此可能是错误的,但我认为闪存的读写次数是有限的。