job*_*ert 1 resources android equals imageview android-5.0-lollipop
我试图在if语句中做一些事情,这适用于Android的每个版本(因为getDrawable都是16或更高版本),除了Android L(最新测试).代码如下:
if (item.getIcon().getConstantState().equals(getResources().getDrawable(R.drawable.add_to_fav_normal).getConstantState())
Run Code Online (Sandbox Code Playgroud)
任何帮助/提示或解释将不胜感激!
使用item.getContext().getDrawable(int)或等效ContextCompat方法.
从API 21开始,加载drawables的所有框架小部件都使用,这些小部件Context.getDrawable()在通胀期间应用上下文的当前主题.这基本上只是getResources().getDrawable(..., getTheme())内部调用,所以你也可以使用context.getResources().getDrawable(..., context.getTheme()).
if (item.getIcon().getConstantState().equals(item.getContext()
.getDrawable(R.drawable.add_to_fav_normal).getConstantState())
Run Code Online (Sandbox Code Playgroud)
但是,一般情况下,您不应该依赖此检查.对于从特定drawable中获得的常量状态,没有API保证.
| 归档时间: |
|
| 查看次数: |
909 次 |
| 最近记录: |