我使用findViewById(id)有一个奇怪的问题.即使资源肯定存在,它也会找不到资源.它是另一个textview旁边的布局中的textview,我可以通过id查找其中一个textview,但另一个显示未找到的资源.有什么理由可能会发生这种情况吗?
我正在研究我的android程序,当我尝试测试时,我突然开始收到错误"android.content.res.Resources $ NotFoundException:Resource ID#0x7f030027"我做的最后一个重大改变是通过操作栏添加支持库,但我已经工作得很好了.除此之外,我添加了一个新类,但即使我删除了类及其相关文件,错误仍然会弹出.我已经尝试清理项目并多次重启Eclipse无济于事.
这是堆栈跟踪,以防翻译中丢失任何内容:
01-21 19:05:53.125: E/AndroidRuntime(18599): FATAL EXCEPTION: main
01-21 19:05:53.125: E/AndroidRuntime(18599): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.blackhat.htmlparsingtest/com.blackhat.htmlparsingtest.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030027
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.app.ActivityThread.access$700(ActivityThread.java:143)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.os.Handler.dispatchMessage(Handler.java:99)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.os.Looper.loop(Looper.java:137)
01-21 19:05:53.125: E/AndroidRuntime(18599): at android.app.ActivityThread.main(ActivityThread.java:4950)
01-21 19:05:53.125: E/AndroidRuntime(18599): at java.lang.reflect.Method.invokeNative(Native Method)
01-21 19:05:53.125: E/AndroidRuntime(18599): at java.lang.reflect.Method.invoke(Method.java:511)
01-21 19:05:53.125: E/AndroidRuntime(18599): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
01-21 19:05:53.125: E/AndroidRuntime(18599): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) …Run Code Online (Sandbox Code Playgroud) 我从android市场获得崩溃报告:
android.content.res.Resources$NotFoundException: Resource ID #0x....
Run Code Online (Sandbox Code Playgroud)
我每周大约有17个.它在我的代码中指向了以下内容:
context.getResources().getDrawable(R.drawable.foo);
Run Code Online (Sandbox Code Playgroud)
该资源肯定存在于我的/ drawable文件夹中.我有几十万个安装,我不确定这对于一些用户来说是如何失败的,但是对绝大多数用户来说都是如此.我想知道发生了什么,因为他们无法在这种状态下使用该应用程序.有任何想法吗?
谢谢
---------更新----------------------
另外,我可以在我的R.java文件中看到有关drawable的条目,如下所示:
public static final int foo=0x7f020034;
Run Code Online (Sandbox Code Playgroud)
我做了一个干净的项目构建,然后直接做我的发布版本(之间没有代码修改,给自动eclipse构建的东西可能让R文件出错)
谢谢
如果我定义为一个可绘制density qualified folder(例如,绘制,华电国际),也可绘依傍的drawable-nodpi,将一个high density device使用-hdpi过-nodpi?
如果我更进一步,并为-land文件夹设置相同的设置呢?