如何在Android上解决资源问题? [英] How to fix problem with resources on android?

查看:83
本文介绍了如何在Android上解决资源问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在LogCat中获取以下内容:

Getting the following in LogCat:

03-28 16:18:57.795: WARN/ResourceType(8351): No package identifier when getting name for resource number 0x00000001
03-28 16:18:57.865: WARN/ImageView(8351): Unable to find resource: 1
03-28 16:18:57.865: WARN/ImageView(8351): android.content.res.Resources$NotFoundException: Resource ID #0x1
03-28 16:18:57.865: WARN/ImageView(8351):     at android.content.res.Resources.getValue(Resources.java:891)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.content.res.Resources.getDrawable(Resources.java:579)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.ImageView.resolveUri(ImageView.java:485)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.ImageView.setImageResource(ImageView.java:270)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.SimpleCursorAdapter.setViewImage(SimpleCursorAdapter.java:217)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.SimpleCursorAdapter.bindView(SimpleCursorAdapter.java:165)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.CursorAdapter.getView(CursorAdapter.java:186)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.AbsListView.obtainView(AbsListView.java:1274)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1147)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.ListView.onMeasure(ListView.java:1060)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.View.measure(View.java:7964)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:619)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:280)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.View.measure(View.java:7964)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.View.measure(View.java:7964)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.View.measure(View.java:7964)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.View.measure(View.java:7964)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.ViewRoot.performTraversals(ViewRoot.java:763)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.os.Looper.loop(Looper.java:123)
03-28 16:18:57.865: WARN/ImageView(8351):     at android.app.ActivityThread.main(ActivityThread.java:4363)
03-28 16:18:57.865: WARN/ImageView(8351):     at java.lang.reflect.Method.invokeNative(Native Method)
03-28 16:18:57.865: WARN/ImageView(8351):     at java.lang.reflect.Method.invoke(Method.java:521)
03-28 16:18:57.865: WARN/ImageView(8351):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-28 16:18:57.865: WARN/ImageView(8351):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-28 16:18:57.865: WARN/ImageView(8351):     at dalvik.system.NativeStart.main(Native Method)

实际上,资源文件存在(在drawable-hdpi和drawable-ldpi处为R.drawable.star_on,Eclipse在自动完成中具有此值),这是R.java的摘录:

Actually, resource files exists (R.drawable.star_on at drawable-hdpi and drawable-ldpi, Eclipse has this value in autocomplete), here is the extract from R.java:

public static final class drawable {
    public static final int star_off=0x7f020007;
    public static final int star_on=0x7f020008;

推荐答案

奇怪,但是问题出在 setViewValue 函数上-我根据数据库值更改了 ListView 图标而且我没有在那儿返回 true (返回了 false ),因此我遇到了这个错误.

Strange, but the problem was with setViewValue function - I was changing ListView icon based on DB value and I didn't return true there (returned false) and hence I was getting this error.

这篇关于如何在Android上解决资源问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆