Как отобразить отдельные данные SQLite в textview? - PullRequest
2 голосов
/ 04 апреля 2019

Я хочу получить сумму из существующей базы данных и отобразить ее в TextView.

Я создал базу данных. Но когда я пытаюсь получить и отобразить сумму, мое приложение продолжает сбой.

/ DataBaseHelper.java /

   public Cursor getBalance(String amount) {
    SQLiteDatabase db = this.getReadableDatabase();

    String selectQuery = "SELECT  * FROM " + TABLE_USER_BALANCE + " WHERE "
            + KEY_AMOUTNT + " = " + amount;

    Log.e(LOG, selectQuery);

    Cursor c = db.rawQuery(selectQuery, null);

    if (c != null)
        c.moveToFirst();

    Balance b = new Balance();
    b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));

    return (Cursor) b;
}

Класс приборной панели:

public void saveCallBack(Balance balance) {


   DataBaseHelper dataBaseHelper = new DataBaseHelper(context);
    Cursor cursor = dataBaseHelper.getBalance(DashBoard.email);
  while (cursor.moveToNext()) {
        String s_amount = "";
        s_amount = 
      cursor.getString(cursor.getColumnIndex(DataBaseHelper.KEY_AMOUTNT));

        Double amount = 0.0;
        if (AppUtility.isNum(s_amount)) {
            amount = Double.parseDouble(s_amount);
        }

        TextView Amount = findViewById(R.id.amount);
        Amount.setText(String.valueOf(amount));


    }

}

1 Ответ

2 голосов
/ 04 апреля 2019

Вы приводите Balance к Cursor, что невозможно, и, следовательно, ваше приложение аварийно завершает работу.Вы либо хотите вернуть саму базу данных Cursor, либо объект Balance.Вы уже создали экземпляр Balance и поместили в него какое-то значение, поэтому я предполагаю, что ваш код должен быть таким:

public Balance getBalance(String amount) {
    ...

    Balance b = new Balance();
    b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));
    return b;
}

Я бы посоветовал вам узнать немного больше о приведении типов в Java, чтобы вы поняликастинг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...