報錯信息:
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+"");