Android 资源文件找不到 android.content.res.Resources$NotFoundException: Resource ID #0x7f030029

本文记录了解决Android开发中遇到的布局资源未找到错误的过程,通过检查R文件引用、inflate调用及数据类型转换,最终发现布局文件仅存在于layout-large目录中,将文件复制到layout目录解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说下我的问题,这是错误日志。

android.content.res.Resources$NotFoundException: Resource ID #0x7f030029
    at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:279)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2310)
    at android.content.res.Resources.getLayout(Resources.java:1293)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at android.view.View.inflate(View.java:23389)
    at com.cloudmind.activity.MainActivity$MyListAdapter.getView(MainActivity.java:451)
    at android.widget.AbsListView.obtainView(AbsListView.java:2428)
    at android.widget.ListView.makeAndAddView(ListView.java:2083)
    at android.widget.ListView.fillDown(ListView.java:793)
    at android.widget.ListView.fillFromTop(ListView.java:859)
    at android.widget.ListView.layoutChildren(ListView.java:1816)
    at android.widget.AbsListView.onLayout(AbsListView.java:2226)
    at android.view.View.layout(View.java:19781)
    at android.view.ViewGroup.layout(ViewGroup.java:6144)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    at android.view.View.layout(View.java:19781)
    at android.view.ViewGroup.layout(ViewGroup.java:6144)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    at android.view.View.layout(View.java:19781)
    at android.view.ViewGroup.layout(ViewGroup.java:6144)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2674)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2377)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1515)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7266)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:981)
    at android.view.Choreographer.doCallbacks(Choreographer.java:790)
    at android.view.Choreographer.doFrame(Choreographer.java:721)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:967)
    at android.os.Handler.handleCallback(Handler.java:808)
    at android.os.Handler.dispatchMessage(Handler.java:101)
    at android.os.Looper.loop(Looper.java:166)
    at android.app.ActivityThread.main(ActivityThread.java:7425)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

 

我解决问题的路程

发现问题之后就发R文件里边找这个ID #0x7f030029,发现能找到,是个layout 文件

网上一顿找资料,发现主要还是三个问题

1.R文件引用错误

2.inflate 文件的时候 R.Layout.****, 写成了R.id.*****

3.文本渲染的时候 tv.setTest(),传了 int 类型

通通检查了一遍,都没有解决我的问题,还是找不到文件。

最后恍然大悟,为了适配不同分辨率,写了两套布局文件, layout,layout-large, 找不到的这个文件只在 layout-large 里边,layout 里边没有,把 文件复制到 layout 里边,保存,运行,成功 !!!

可能遇到的问题不一样,但是静下心来,发现问题,最终都会被解决的, 加油。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值