繁体   English   中英

Android 资源未找到异常?

[英]Android resource not found exception?

我在使用 findViewById(id) 时遇到了一个奇怪的问题。 即使资源肯定存在,它也会返回未找到资源。 它是另一个文本视图旁边布局中的文本视图,我可以通过 id 找到其中一个文本视图,但另一个显示未找到资源。 是否有任何原因可能会发生这种情况?

确保您不是真的只是试图将文本设置为数字并期望它自动转换为字符串。

尝试清理您的项目或发布一些代码。

如果您使用 Eclipse,有时 ID 无法正确重新生成。 这需要清理项目,有时还需要刷新。

抛出的异常消息不是很具有描述性。 很可能是您尝试将int值转换为String ,应用以下更改为我解决了该问题。

修复前的代码:

 itemPrice.setText(foodMenuItems.get(position).getItemPrice());

修复后的代码:

 itemPrice.setText(Integer.toString(foodMenuItems.get(position).getItemPrice()));

只是为了澄清 Terra Caines 的回答,因为我看到人们经常遇到这种情况; TextView和其他文本组件有 2 个带有 1 个参数的setText()函数。

其中一个是String ,一个是 int。 int显然用于字符串资源,例如R.string.myString - 对于那些不知道的人来说, R.exm总是表示为int 字符串用于将字符串放在那里。

所以例如我想把 int x = 1; 在文本视图中。 mTextView.setText(x); 将导致 textView 使用资源函数,并且由于可能没有 id 为 1 的资源,它将抛出异常 Resource not found。 如果您想在 setText() 函数中放置一个 int 或任何数字,请确保将其转换为String (x+"")(x.toString())将为您解决问题。

希望它为人们节省了一些时间。

textViewCount.setText(someArray.size()); 是我的问题。

只需调用toString(); 解决问题。

    Integer size = mSomeArray.size();
    textViewReplyCount.setText(size.toString());

确保您没有以编程方式设置任何不可用的属性。 我有同样的问题,原因是RemoteView.setFloat(id,"setWeight",1.0f); 到 4.x 之前的 Android 不支持的LinearLayout不幸的是,错误消息对此没有太大帮助。

就我而言,我有一个int变量(在我的 Activity 类之上),我试图将该 int 变量作为第二个参数传递给Toast.makeText()向用户展示),我不知道我是愚蠢的或android开发平台是! :p

检查清单文件的应用程序标签下android:icon="@mipmap/ic_launcher"存在android:icon="@mipmap/ic_launcher"属性。

我的情况是,我试图将带有项目 android:color 的可绘制选择器传递给视图背景。 这里的问题是你不能使用颜色选择器定义背景颜色,你需要一个可绘制的选择器。

就我而言,在 res/menu/(xml 文件) 中,在那个 xml 文件中,我使用了导致错误的 png 图标,您应该只使用矢量图标。 此错误显示在 android 6(marshmallow) 而不是更高版本中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM