Java 如何在textview中显示单个SQLite数据?
我想从现有数据库中检索金额,并将其显示在文本视图中 我已经创建了一个数据库。但当我试图获取并显示金额时,我的应用程序总是崩溃 /DataBaseHelper.java/ 仪表板类别:Java 如何在textview中显示单个SQLite数据?,java,android,sqlite,Java,Android,Sqlite,我想从现有数据库中检索金额,并将其显示在文本视图中 我已经创建了一个数据库。但当我试图获取并显示金额时,我的应用程序总是崩溃 /DataBaseHelper.java/ 仪表板类别: public void saveCallBack(Balance balance) { DataBaseHelper dataBaseHelper = new DataBaseHelper(context); Cursor cursor = dataBaseHelper.getBalance(Da
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
实例并在其中添加了一些值,因此我假设您的代码应该是:
public Balance getBalance(String amount) {
...
Balance b = new Balance();
b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));
return b;
}
我建议您学习更多有关Java强制转换的知识,以便了解强制转换行为。如果您是SQLite和Android新手,您可能希望尝试更新、更简单、更好的方法。这是有关此事的官方消息。另外,当你遇到Android问题时,在你的问题中添加logcat错误文件。谢谢,我改变了这个。但现在我在Dashboad.java'Cursor Cursor=dataBaseHelper.getBalance(DashBoard.email)中遇到了错误;是的,这是因为类型不同。您应该了解
游标
不是也永远不能是余额
对象。你需要改变你的代码结构,真正考虑你正在传递的类型。这将起作用:Balance-Balance=dataBaseHelper.getBalance(DashBoard.email)代码>我更改了结构,但DataBaseHelper.java中仍然出现错误。如前所述,您应该重新考虑您的结构以及在类之间传递的内容。对于java类中的其他错误,没有真正的解决方案。如果您还有其他问题,我建议您在StackOverflow上发布一个新问题。
public Balance getBalance(String amount) {
...
Balance b = new Balance();
b.setAmount(c.getInt(c.getColumnIndex(KEY_AMOUTNT)));
return b;
}