I am wondering about using setViewBinder
. When I try to this, all columns change same date even it has data. How can I edit each column, which is related date, not every column?
I think that I have to modify the setViewBinder
part.
Could you help me?
protected void onActivityResult(int requestCode, int resultCode,Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
fillData();
}
private void fillData()
{
cursor = dbHelper.fetchAllItems();
startManagingCursor(cursor);
String[] from = new String[] {FridgeDbAdapter.KEY_NAME,
FridgeDbAdapter.KEY_EXPIRED_DATE};
int [] to = new int[] {R.id.fridge_name_txt, R.id.fridge_expired_txt};
SimpleCursorAdapter data_row = new SimpleCursorAdapter(this, R.layout.fridge_row,
cursor, from, to);
//It makes crash the list which is making all same date..
data_row.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
//How can I bind the data with only specific date column?
public boolean setViewValue(View view, Cursor cursor, int column)
{
TextView tv = (TextView) view;
String date = cursor.getString(cursor.getColumnIndex("expired_date"));
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
Calendar cal = Calendar.getInstance();
date = df.format(cal.getTimeInMillis());
tv.setText(date);
return true;
}
});*/
setListAdapter(data_row);
}
***** I edited setViewBinder.. however, it is shown the date every column, not specific column. And date is shown 01-01-1970, not like 12/11/2011.. How can I do?**
data_row.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int column)
{
if(column>=0)
{
TextView tv = (TextView) view;
long date=cursor.getLong(cursor.getColumnIndex("expired_date"));
Calendar cal = Calendar.getInstance();
cal.clear();
cal.setTimeInMillis(date);
String date_format = String.format("%1$td-%1$tm-%1$tY", cal);
tv.setText(date_format);
return true;
}
return false;
}
});