0

我正在制作一个财务应用程序,用户插入记录在 SQL 数据库中的费用。我想要做的是检索这些费用的总和并将其显示在 Textview 上。我已经搜索了所有内容,但仍然无法正确搜索,也许是我的愚蠢,但我真的做不到。

这是我创建方法以获取 TextView 总数的代码

SQLiteActone actone = new SQLiteActone(this);
    actone.open();
    String returnedTotal = actone.getTotal();
    actone.close();
    tvTotalact1.setText(returnedTotal);

这是该方法的代码:

public String getTotal() {
    // TODO Auto-generated method stub

    Cursor cursor = ourDatabase.rawQuery(
            "SELECT SUM(KEY_VALUEACTONE) FROM DATABASE_TABLEONE ", null);
        if(cursor.moveToFirst()) {
            cursor.getInt(0);
        }
        return cursor;

我知道返回光标;不起作用,而且它是一个错误,但我返回 null;我知道人们只会说 null 是问题所在。

请帮我解决这个问题!提前全部

4

2 回答 2

1

只需返回 int 并设置为 textview,如:

int sum=getTotal();
text_view_object.setText(""+sum);

并修改代码:

public int getTotal() {
// TODO Auto-generated method stub
int sum=0;
Cursor cursor = ourDatabase.rawQuery(
        "SELECT SUM(KEY_VALUEACTONE) FROM DATABASE_TABLEONE ", null);
    cursor.moveToFirst();
    if(cursor.getcount()>0) {
        sum=cursor.getInt(0);
    }
    return sum;
   }

就像如果这有助于否则评论我可以帮助你。

于 2013-11-01T18:51:14.410 回答
0

解决了

穆赫辛

您的代码的问题是:

int sum=getTotal();
text_view_object.setText(""+sum);

因为我也必须调用数据库才能使该方法起作用,所以我需要这样做:

SQLiteActone actone = new SQLiteActone(this);
    actone.open();
    int sum=getTotal();
    actone.close();
    tvTotalact1.setText(""+sum);

但为了让它工作,我需要这个:

而不是 int sum =getTotal(); 我需要通过我首先做的引用调用该方法,int sum = actone.getTotal();

再次为您提供帮助

于 2013-11-04T17:07:37.303 回答