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

某处在这一块你将有一个空。