Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java setBackgroundDrawable()和setBackground()之间的差异_Java_Android - Fatal编程技术网

Java setBackgroundDrawable()和setBackground()之间的差异

Java setBackgroundDrawable()和setBackground()之间的差异,java,android,Java,Android,我刚刚将我的Android项目的构建目标升级到API 17,现在我收到了关于setBackgroundDrawable被弃用的警告。答案似乎是使用setBackground,但这在旧版本中不可用 使用新方法有什么实际优势吗,或者谷歌只是想更改名称?如果平台版本检查和反射的工作方式相同,那么我认为将代码复杂化没有任何意义 使用新方法有什么实际优势吗,或者谷歌只是想更改名称 他们似乎只想更改名称,看看: 所有工作仍在setBackgroundDrawable()中完成。现在,您可以忽略弃用警告,但要

我刚刚将我的Android项目的构建目标升级到API 17,现在我收到了关于setBackgroundDrawable被弃用的警告。答案似乎是使用setBackground,但这在旧版本中不可用

使用新方法有什么实际优势吗,或者谷歌只是想更改名称?如果平台版本检查和反射的工作方式相同,那么我认为将代码复杂化没有任何意义

使用新方法有什么实际优势吗,或者谷歌只是想更改名称

他们似乎只想更改名称,看看:

所有工作仍在
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) { ... }