Java setBackgroundDrawable()和setBackground()之间的差异
我刚刚将我的Android项目的构建目标升级到API 17,现在我收到了关于setBackgroundDrawable被弃用的警告。答案似乎是使用setBackground,但这在旧版本中不可用 使用新方法有什么实际优势吗,或者谷歌只是想更改名称?如果平台版本检查和反射的工作方式相同,那么我认为将代码复杂化没有任何意义 使用新方法有什么实际优势吗,或者谷歌只是想更改名称 他们似乎只想更改名称,看看: 所有工作仍在Java setBackgroundDrawable()和setBackground()之间的差异,java,android,Java,Android,我刚刚将我的Android项目的构建目标升级到API 17,现在我收到了关于setBackgroundDrawable被弃用的警告。答案似乎是使用setBackground,但这在旧版本中不可用 使用新方法有什么实际优势吗,或者谷歌只是想更改名称?如果平台版本检查和反射的工作方式相同,那么我认为将代码复杂化没有任何意义 使用新方法有什么实际优势吗,或者谷歌只是想更改名称 他们似乎只想更改名称,看看: 所有工作仍在setBackgroundDrawable()中完成。现在,您可以忽略弃用警告,但要
setBackgroundDrawable()
中完成。现在,您可以忽略弃用警告,但要了解,在将来的一些API中,setBackgroundDrawable()
将被删除
如果您感到好奇,只需从资源ID创建一个drawable,并调用
setBackground()
(再次调用setBackgroundDrawable()
)…对于任何查看此now 4.4的人来说,仍然具有与刚才转发到setBackgroundDrawable()相同的代码,谢谢链接!我还检查了5.1版本,仍然是相同的代码。
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }