android – Logcat说:“资源有未解决的主题属性”

前端之家收集整理的这篇文章主要介绍了android – Logcat说:“资源有未解决的主题属性”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

记录我的应用我的Logcat说:WARN:…有未解决主题属性!考虑使用Resources.getDrawable(int,Theme)或Context.getDrawable(int).

产生警告的代码

    if (mCards.get(position).isFavorite()) {
        viewHolder.mIbStar
                .setImageDrawable(mContext.getResources()
                                          .getDrawable(R.drawable.btn_is_fav));
    } else {
        viewHolder.mIbStar
                .setImageDrawable(mContext.getResources()
                                          .getDrawable(R.drawable.btn_isnt_fav));
    }

搜索了这个日志,但没有找到任何有用的东西.怎么知道这个问题?该程序是稳定的,所以没有Nullpointer ..

提前致谢

最佳答案
问题是系统无法找到关联的主题来解析这些属性值.
这就是为什么logcat建议你使用提供主题Resources.getDrawable(int,Theme)方法,
或者使用上下文将使用其当前主题Context.getDrawable(int)方法

Return a drawable object associated with a particular resource ID and
styled for the current theme.

而且,根据Android官方文档:
http://developer.android.com/reference/android/content/res/Resources.html#getDrawable(int)

This method was deprecated in API level 22. Use 07003 instead.

更具体地说

Note: To obtain a themed drawable,use 07001 or
07003 passing the desired theme.

考虑更换

mContext.getResources().getDrawable(int) 

通过

mContext.getDrawable(int)

比如提出logcat.

猜你在找的Android相关文章