Android錯誤:W/ResourceType(2411): No package identifier when getting value for resource number 0x

報錯信息:

07-04 11:14:43.064: W/ResourceType(2411): No package identifier when getting value for resource number 0x0000001c
07-04 11:14:43.064: W/System.err(2411): android.content.res.Resources$NotFoundException: String resource ID #0x1c

錯誤位置示例代碼:

 int percent = current * 100 / total;
textView1.setText(percent);


原因分析:

主要原因是TextView的setText方法把傳入的int類型的percent當做資源Id到項目中查詢資源,而資源中卻找不到相應的數值,就會報NotFoundException的錯誤。

在Android中利用id來索引資源的地方很多(如:Toast.makeText()等),所以如果不小心往方法中傳入int類型的參數,雖然編譯時IDE不會報錯,但是運行時,很容易因找不到對應的資源而報錯。


解決辦法:

所以如果要在TextView中顯示int類型的數據,應提前轉換成字符串類型。轉換方法很多,最簡單的就是在int類型數據後加上一個空字符串,如:

textView1.setText(percent+"");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章