Android在运行时通过id查找资源
如果我收到错误“android.content.res.Resources$NotFoundException:资源 ID #0x7f050007 类型 #0x12 无效”,如果我知道该资源的 ID,我可以找到该资源的内容吗?
ListView list = (ListView)findViewById(R.id.messages_list_view);
list.setAdapter(new ArrayAdapter<String>(context,
R.layout.messages_list, headers));
消息列表.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/messages_list_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:id="@+id/messages_list_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
If I get the error "android.content.res.Resources$NotFoundException: Resource ID #0x7f050007 type #0x12 is not valid" can I find some what this resource is if I know its ID?
ListView list = (ListView)findViewById(R.id.messages_list_view);
list.setAdapter(new ArrayAdapter<String>(context,
R.layout.messages_list, headers));
messages_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/messages_list_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:id="@+id/messages_list_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 Fragment 中使用 ListView 时出现此错误。
通过将 setAdapter 行移至 Fragment 的 onViewCreated 函数来解决。 (在创建视图之前,ListView 是无效的,这是有道理的)。
所以你得到:
I Got this error when using ListView in a Fragment.
Resolved by moving the setAdapter lines to the onViewCreated function of the Fragment. (makes sense that before the view is created the ListView is invalid).
so you get :
对于那些其他提到的解决方案不起作用的人。
我犯了这个愚蠢的错误:-
而不是
纠正它,并且错误消失了:D
For those whom other mentioned solutions don't work.
I did this silly mistake:-
Instead of
Corrected that, and error was gone :D
您可以使用 Eclipse 中的搜索功能,搜索“0x7f050007” 或转到包含您的资源的
projectfolder/gen/path/R.java
。您会发现类似这样的内容:
然后使用 Eclipse 搜索功能搜索(在本例中)
lineItem
。它将带您到代码中的资源。You can either use the search function in eclipse, search for
"0x7f050007"
or go toprojectfolder/gen/path/R.java
that contains your resources.You'll find something like this:
Then search for(in this example)
lineItem
with Eclipses search function. It'll take you to your resource in code.检查您的导入(在类文件的顶部)。也许您导入了
(它提供了对平台资源的访问)而不是
(您也可以将其留空)。
Check your imports (at the top of your class-file). Maybe you imported
(which provides access to the platform-resources) instead of
(you can also leave it blank).