Android studio 获取sqlite列的和时出错

Android studio 获取sqlite列的和时出错,android-studio,android-sqlite,textview,android,Android Studio,Android Sqlite,Textview,Android,为什么我会犯这样的错误?我想在textview和toast上显示我的sqlite列Fat的总和,这样我就知道它正在运行,但会显示一个错误 android.content.res.Resources$NotFoundException: String resource ID #0x7b at android.content.res.Resources.getText(Resources.java:299) at

为什么我会犯这样的错误?我想在textview和toast上显示我的sqlite列Fat的总和,这样我就知道它正在运行,但会显示一个错误

android.content.res.Resources$NotFoundException: String resource ID
#0x7b
                      at android.content.res.Resources.getText(Resources.java:299)
                      at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
                      at android.widget.TextView.setText(TextView.java:4132)
                      at jm.myapplication.Main.MainActivity.totalFat(MainActivity.java:169)
                      at jm.myapplication.Main.MainActivity.onClick(MainActivity.java:498)
                      at android.view.View.performClick(View.java:4780)
                      at android.view.View$PerformClick.run(View.java:19866)
                      at android.os.Handler.handleCallback(Handler.java:739)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:135)
                      at android.app.ActivityThread.main(ActivityThread.java:5254)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at java.lang.reflect.Method.invoke(Method.java:372)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
此代码在我的mainactivity类中

public void totalFat()
    {
        repo repo = new repo(MainActivity.this);
        int i = repo.totalFatrepo();
        tvtotal.setText(i);
        Toast.makeText(getApplicationContext(),
                i, Toast.LENGTH_LONG)
                .show();

    }

    @Override
        public void onClick(View view) {
            if (view == findViewById(R.id.water)) {
                totalFat();
            }
            }
这是我的回购协议

public int totalFatrepo(){

        SQLiteDatabase db = dbHelper.getWritableDatabase();
        String query = "SELECT SUM(Fat) FROM " + breakfast.TABLE;
        Cursor c = db.rawQuery(query, null);
        c.moveToFirst();
        int i=c.getInt(0);

        return i;

    }

如果查看堆栈跟踪,您会发现问题不在于数据库查询,而在于如何将文本设置到TextView。如果将整数传递给
tvtotal.setText(i)
,则它需要一个资源id整数(
R.string.some_text
in values.xml)

如下所示调用它,这样它将触发另一个以字符串为参数的setText方法:

tvtotal.setText(""+i);