Reputation: 61
public void addDataListViewShowAllNotes(){
Bundle extras = getIntent().getExtras();
String idUser = extras.getString("IdUser");
Cursor cursor = db.getDataTableNote(Integer.parseInt(idUser));
String form[] = new String []{db.KEY_CONTENT_NOTE, db.KEY_TYPE_NOTE, db.KEY_DATE_CREATE_NOTE, db.KEY_MONEY};
int to[] = new int[] {R.id.textView_ContentNote, R.id.textView_TypeNote, R.id.textView_DateCreateNote, R.id.textView_MoneyNote};
dataAdapter = new SimpleCursorAdapter(this, R.layout.item_note, cursor, form, to, 0);
ListView listViewManagePage = (ListView) findViewById(R.id.listView_ManagePage);
listViewManagePage.setAdapter(dataAdapter);
}
Here is my method which I use to add data to my ListView.
private String textOutput(String s){
Locale loc = Locale.getDefault();
NumberFormat nf = NumberFormat.getCurrencyInstance(loc);
Double money = new Double(s);
s = nf.format(money);
return s;
}
Here is method which i use to change my text to number like money. Example "1000000" -> " 1,000,000. But when i set method textOutput on
String form[] = new String []{db.KEY_CONTENT_NOTE, db.KEY_TYPE_NOTE, db.KEY_DATE_CREATE_NOTE, textOutput(db.KEY_MONEY)};
The text i get is "money". It's name of column in database. So how can i get my data in this column to use it.
Please help me
Upvotes: 0
Views: 65
Reputation: 132982
db.KEY_MONEY
refer to name of column which is money
instead of value in db.
To show formatted data for money
column in ListView
row using SimpleCursorAdapter
, need to call setViewBinder
for ListView adapter. like:
dataAdapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
if (columnIndex == cursor.getColumnIndex(db.KEY_MONEY))
String moneyStr = cursor.getString(columnIndex);
TextView textView = (TextView) view;
textView.setText(textOutput(moneyStr));
return true;
}
return false;
}
});
Upvotes: 1