2015-08-22 79 views
0

我有一段代碼,在處理時遇到了一些麻煩。該代碼基本上獲取未讀的行數並返回該數字。但是,這個代碼是我的應用程序在應用程序調用該函數後崩潰的唯一原因。請協助。在textview中顯示Android int值

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); 
+2

請添加您的錯誤日誌你的問題。也就是說,用'tr.setText(String.valueOf(pt))'替換'tr.setText(pt)''。 – PPartisan

回答

0

你需要投你intInteger,然後你可以調用toString()

TextView tr = (TextView) R.id.title; 
Integer pt = new Integer(db.dbMsgSyncCount()); 
tr.setText(pt.toString()); 
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)); 
0

有一個簡單的方法:

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