![](/img/trans.png)
[英]How to retrive Single Column data from sqlite database in android and Display it in TextView
[英]How to display single SQLite data into textview?
我想从现有数据库中检索金额并将其显示在 TextView 中。
我已经创建了数据库。 但是当我尝试获取和显示金额时,我的应用程序不断崩溃。
/数据库助手.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));
}
}
您正在将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 中的转换的知识,以便您了解转换行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.