gpt4 book ai didi

android - 常量状态在开发者预览版 android L 中不匹配

转载 作者:行者123 更新时间:2023-11-29 14:48:33 24 4
gpt4 key购买 nike

我正在尝试在 if 语句中做一些事情,这适用于每个版本的 android(16 或更高版本,因为 getDrawable)除了 Android L(在最新版本上测试)。代码如下:

if (item.getIcon().getConstantState().equals(getResources().getDrawable(R.drawable.add_to_fav_normal).getConstantState())

如有任何帮助/提示或解释,我们将不胜感激!

最佳答案

使用 item.getContext().getDrawable(int) 或等效的 ContextCompat方法。

从 API 21 开始,所有加载可绘制对象的框架小部件都使用 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())

不过,一般来说,您不应依赖此检查。对于您将从特定可绘制对象接收到的恒定状态,没有 API 保证。

关于android - 常量状态在开发者预览版 android L 中不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26756613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com