membuat custom cursor adapter sebenernya kita bisa menggunakan simple cursor adapter cuman kelemahan simple cursor adapter adalah kita tak bisa membuat harga mengikuti locale seting sebuah negara
ok ini dia cara membuatnya
public class MyCursorAdapter extends CursorAdapter {
/*part 1*/ @SuppressWarnings("deprecation")
public MyCursorAdapter(Context context, Cursor c) {
super(context, c);
}
/*part 2*/ @Override
public void bindView(View view, Context context, Cursor cursor) {
TextView nama_produk = (TextView)view.findViewById(R.id.nama_produk);
TextView harga =(TextView)view.findViewById(R.id.harga_prod);
nama_produk.setText(cursor.getString(cursor.getColumnIndex("nama")));
harga.setText(NumberFormat.getInstance().format(cursor.getDouble(cursor.getColumnIndex("harga"))));
}
/* part 3 */ @Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.row_custom,parent,false);
bindView(v,context,cursor);
return v;
}
}
ok ini dia cara membuatnya
public class MyCursorAdapter extends CursorAdapter {
/*part 1*/ @SuppressWarnings("deprecation")
public MyCursorAdapter(Context context, Cursor c) {
super(context, c);
}
/*part 2*/ @Override
public void bindView(View view, Context context, Cursor cursor) {
TextView nama_produk = (TextView)view.findViewById(R.id.nama_produk);
TextView harga =(TextView)view.findViewById(R.id.harga_prod);
nama_produk.setText(cursor.getString(cursor.getColumnIndex("nama")));
harga.setText(NumberFormat.getInstance().format(cursor.getDouble(cursor.getColumnIndex("harga"))));
}
/* part 3 */ @Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.row_custom,parent,false);
bindView(v,context,cursor);
return v;
}
}
part 1 adalah sebuah constructor
part 2 adalah bindView ini digunakan untuk mengcustom dari view untuk memasukan nilai dari sebuah view
part 3 adalah layoutnya