Android资源未找到异常

时间:2011-12-04 13:44:58

标签: android resources

所以我不是编程,Java或Android开发方面的新手,但我遇到了一个奇怪的问题:我已经提出了一个非常先进的应用程序并将其投放市场。

目前我有超过1000个安装,我有大约4或5个针对ResourceNotFoundException的崩溃报告。最奇怪的是它崩溃的线是在

setContentView(R.layout.some_custom_layout)

在代码中我总是指资源

someTxtView.setText(R.string.some_string)

所以我想知道我是否使用过

mContext.getResources().getDrawable(mContext.getResources().getIdentifier("some_string", "string", "my.example.package"));
崩溃会消失吗?

5 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我通过创建名为“layout-small”的布局文件夹来修复它。

根据分辨率我只创建了2个文件夹“layout-large”和“layout-medium”。但很少有手机具有较低的分辨率,因此根据分辨率找不到合适的资源。 Android OS根据分辨率呈现xml资源。它会找到所需文件夹中的资源。

95%以上的Android手机,其分辨率与“layout-normal”文件夹相匹配。但仍有手机具有较低的分辨率。因此出现了这个问题。

更多详情:http://developer.android.com/guide/practices/screens_support.html

希望这有助于解决您的问题。

答案 1 :(得分:0)

如果您从活动的setContentView(R.layout.some_custom_layout)方法调用onCreate,只要您的应用编译(并且我认为它确实存在),您应该会很好。

AFAIK通过以下方式访问您的字符串资源:

someTxtView.setText(R.string.some_string)

不是要走的路。你应该这样做:

getContext().getResources().getString(R.string.some_string)

答案 2 :(得分:0)

setContentView(R.layout.some_custom_layout);

尝试使用

setContentView(yourpackagename.R.layout.some_custom_layout);
这对我帮了很多次。

答案 3 :(得分:0)

我有一个建议。你是否在你的布局中使用了android的资源,比如drawables等,例如

  

机器人:化背景= “@机器人:可拉伸/ some_android_drawable”

也许某些供应商不提供其固件的一些资源,因此您的应用程序崩溃。 例如this issue

答案 4 :(得分:0)

someTxtView.setText(R.string.some_string)

您可以将整数值设置为文本。它不正确,因为它在此值上搜索资源。你必须写

someTextView.setText(getResources().getText(R.string.blabla));