1

所以我的little app is available on Google "Play",並得到了幾個下載到目前爲止。現在開發者控制檯報告了一個崩潰。奇怪的用戶崩潰報告:空指針異常的東西肯定是

這個崩潰報告很奇怪。

首先,開發者控制檯給我一個堆棧跟蹤和崩潰的原因,一個空指針異常。但是沒有關於Android版本或硬件的信息,所以我無法創建模擬器設置來重新創建該錯誤。

這裏的違規行:

((TextView) findViewById(R.id.speechbubble)).setText(getResources().getString(R.string.welcome_nomusic)); 

上的所有設備和我測試模擬器,這個作品和結果在一個不錯的speech bubble message

爲什麼它不工作? I 知道該佈局包含稱爲「speechbubble」的視圖,並且該字符串資源包含「welcome_nomusic」的文本消息。

那麼,任何想法這裏發生了什麼,以及如何解決它?


固定的,謝謝你的回答。我的錯誤是爲不同的屏幕分辨率添加額外的佈局,而不是在我上次更改代碼後測試所有的佈局。 : -/

+0

你可以把錯誤的完整的曲線? 你對不同的尺寸有不同的佈局嗎? (xdpi xlarge ...) – Aracem 2012-04-25 09:20:28

+1

Aaaargh。我想就是這樣。是的,的確,有不同的佈局,我沒有更新所有的佈局。現在我可以咬哪個桌子? – hez 2012-04-25 09:23:51

+0

是的,不同的佈局是問題。謝謝! – hez 2012-04-25 09:26:28

回答

0

可能發生的情況是,您試圖呼叫的資源可能不存在於某個設備,或者它正在努力尋找它。

檢查所有佈局/字符串/資源在不同的尺寸等在ADT 17 +新林特工具同樣要幫助

+0

謝謝。不同的佈局是問題。 – hez 2012-04-25 09:35:32

0

只需登錄涉及的每個對象:

log("R: " + R); 
log("R.id: " + R.id); 
log("R.id.speechbubble: " + R.id.speechbubble); 
log("textView: " + findViewById(R.id.speechbubble)); 
log("getResources(): " + getResources()); 
log("R.string: " + R.string); 
log("R.string.welcome_nomusic: " + R.string.welcome_nomusic); 
log("text: " + getResources().getString(R.string.welcome_nomusic)); 

某處在這一塊你將有一個空。