在textview中显示Android int值

时间:2015-08-22 23:51:11

标签: android android-sqlite android-cursor

我有一段代码,我在使用时遇到了一些麻烦。代码基本上获取未读行数并返回数字。然而,这个代码是我的应用程序在应用程序调用该函数后崩溃的唯一原因。请帮助。

public int dbMsgSyncCount(){
int count = 0;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor =  db.rawQuery( "SELECT * FROM " + MESSAGES_TABLE_NAME + " WHERE " + MESSAGE_STATUS
        + " = no", null);
count = cursor.getCount();
db.close();
return count;
}

在我的活动中,我有:

TextView tr = (TextView) R.id.title;
int pt =db.dbMsgSyncCount();
tr.setText(pt);

3 个答案:

答案 0 :(得分:1)

如果将int发送到setText()方法,该方法将尝试查找与该int匹配且崩溃的String资源。所以解决方案是调用tr.setText(String.valueOf(pt))

TextView tr = (TextView) R.id.title;
int pt =db.dbMsgSyncCount();
tr.setText(String.valueOf(pt));

答案 1 :(得分:0)

您需要将int投放到Integer,然后拨打toString()

TextView tr = (TextView) R.id.title;
Integer pt = new Integer(db.dbMsgSyncCount());
tr.setText(pt.toString());

答案 2 :(得分:0)

有一种简单的方法:



TextView tr = (TextView) R.id.title;
int pt = db.dbMsgSyncCount();
tr.setText(pt + "");