在 Android 開發中,當你嘗試呼叫 tv.setText(number); 時應用程式崩潰,而移除該行程式碼卻能正常執行,這通常是因為 setText() 方法的參數型別不匹配所致。



TextView.setText() 方法接受的參數是 CharSequence(通常是字串)。若直接傳入整數 int number,系統會嘗試將其視為資源 ID(R.string.xxx)去尋找對應的字串資源,找不到時會拋出 Resources$NotFoundException 導致崩潰。
將整數轉換為字串後再傳入:
tv.setText(String.valueOf(number));或是:
tv.setText(number + "");根據最佳回答提示,錯誤可能發生在上一行程式碼,例如 findViewById 未正確取得 View,導致 tv 為 null。請檢查:
TextView 的 ID 是否正確對應版面配置檔。setContentView() 之後才呼叫 findViewById()。若問題持續,建議查看 Logcat 完整堆疊追蹤,定位確切崩潰行號。