加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么resources.getStringArray(int)会抛出异常?

发布时间:2020-12-15 08:38:09 所属栏目:Java 来源:网络整理
导读:我打电话给 Resources resources = Resources.getSystem();String[] networkFiles = resources.getStringArray(R.array.xmlNetworkFiles); 我知道这个资源数组存在(因为我可以用自动生成的R文件引用它)但是它继续抛出ResourceNotFoundException. 可能导致这
我打电话给

Resources resources = Resources.getSystem();
String[] networkFiles = resources.getStringArray(R.array.xmlNetworkFiles);

我知道这个资源数组存在(因为我可以用自动生成的R文件引用它)但是它继续抛出ResourceNotFoundException.

可能导致这种情况的原因以及我该怎么做才能解决这个问题?

我在其他地方使用了类似的代码来检索一个int数组,但是这个代码在我的单元测试中总是失败.

解决方法

这是因为Resources.getSystem()返回错误的Resources对象.从文档:

Return a global shared Resources
object that provides access to only
system resources (no application
resources),and is not configured for
the current screen (can not use
dimension units,does not change based
on orientation,etc).

因此,尽管R.array.xmlNetworkFiles是应用程序的已定义资源值,但您要求的是系统资源并且未找到它.

使用getResource()(来自Activity子类)或getContext().getResources()(来自View类).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读