2016-05-09 4 views
0
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); 
} 

Вот мой метод, который я использую для добавления данных в свой ListView.Изменить строку на десятичный в TextView Android

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; 
} 

Вот метод, который я использую, чтобы изменить свой текст на цифру, как деньги. Пример «+1000000». -.> ". 1000000 Но когда я установить метод textOutput на

String form[] = new String []{db.KEY_CONTENT_NOTE, db.KEY_TYPE_NOTE, db.KEY_DATE_CREATE_NOTE, textOutput(db.KEY_MONEY)}; 

текст я получаю„деньги“Это имя столбца в базе данных Так как я могу получить мои данные в этой колонке, чтобы использовать его.

Пожалуйста, помогите мне

+0

Возможный дубликат [Java формат десятичного String] (http://stackoverflow.com/questions/433958/java-decimal-string-format) –

ответ

1

db.KEY_MONEY относятся к имени столбца, который money вместо значения в дБ.

Чтобы показать форматированные данные для столбца money в строке ListView с использованием SimpleCursorAdapter, необходимо вызвать setViewBinder для адаптера ListView. как:

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; 
     } 

});