记录我的应用我的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)方法:
这就是为什么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.