Я использую собственный шаблон CursorAdapter и ViewHolder, я хочу знать, как хранить данные для каждой строки.Как сохранить данные для каждой строки в пользовательском CursorAdapter
Например, сохранение избранных значение (истина или ложь)
Мой ViewHolder:
private static class ViewHolder {
int column_id, column_gtext, column_isfav, column_isread;
TextView tvText;
ImageView btnFavorites;
boolean changeDefaultFav; // if btnFav clicked its change
}
Мой NewView:
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
//return null;
View view = LayoutInflater.from(context).inflate(R.layout.goftar_lr_default, parent, false);
ViewHolder holder = new ViewHolder();
holder.tvText = (TextView)view.findViewById(R.id.goftar_text);
holder.btnFavorites = (ImageView)view.findViewById(R.id.bg_fav);
holder.tvText.setTypeface(font);
holder.column_id = cursor.getColumnIndexOrThrow("_id");
holder.column_gtext = cursor.getColumnIndexOrThrow("gtext");
holder.column_isfav = cursor.getColumnIndexOrThrow("isfav");
holder.column_isread = cursor.getColumnIndexOrThrow("isread");
holder.changeDefaultFav = false;
holder.tvGoftarText.setText(holder.tvGoftarText.getText() + "\n" + "Append NewView");
view.setTag(holder);
return view;
}
Мой BindView:
@Override
public void bindView(final View view, Context context, final Cursor cursor) {
final ViewHolder holder = (ViewHolder)view.getTag();
holder.tvText.setText(cursor.getString(holder.column_gtext));
final int position = cursor.getPosition();
holder.btnFavorites.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int newValue = 1;
if(holder.changeDefaultFav == true) {
holder.changeDefaultFav = false;
newValue = 0;
}
cursor.moveToPosition(position);
dh.openDatabase();
dh.updateFavorites(cursor.getInt(holder.column_id), newValue);
dh.close();
}
});
Пожалуйста Помоги мне, большое спасибо :)
«хранить данные», что вы подразумеваете под этим? для чего вам нужен ViewHolder? – pskink
@pskink, я хочу, когда «updateFavorites» называется логической переменной, которая зависит от текущей строки к true или false. – Online98