我有问题getBackground()和setBackground()方法有疑问。我设计了一个应用程序,但现在我发现我没有检查哪个版本是用户 android 系统(我是 android 的初学者 - 很好的教训)。
我的应用程序正在使用 Build.version > 15,因为在此版本中引入了上述方法。
我想使用 16 版之前存在的类似方法。有什么想法吗?
我有问题getBackground()和setBackground()方法有疑问。我设计了一个应用程序,但现在我发现我没有检查哪个版本是用户 android 系统(我是 android 的初学者 - 很好的教训)。
我的应用程序正在使用 Build.version > 15,因为在此版本中引入了上述方法。
我想使用 16 版之前存在的类似方法。有什么想法吗?
该getBackground()
方法从 API 级别 1 开始就已经存在,所以这应该不是问题。仅从setBackground(Drawable background)
API 级别 16 开始引入,因此可能会在旧平台上引起问题。
您的替代方案是:
setBackgroundColor(int color)
setBackgroundDrawable(Drawable background)
setBackgroundResource(int resid)
在这些方法中,第二种方法自 API 级别 16 以来已被弃用,因为它已替换为setBackground(Drawable background)
您当前使用的方法。但是,如果您查看该方法的实际实现,您将看到以下内容:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
因此,此时它所做的只是将调用委托给已弃用的setBackgroundDrawable()
方法。因此,如果您想要快速修复,只需更改代码以使用该代码即可。