[英]getting sum of sqlite column error
為什么我會收到這樣的錯誤? 我想在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
中的R.string.some_text)。
像下面這樣調用它,以便它將觸發另一個以String為參數的setText方法:
tvtotal.setText(""+i);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.