我遇到了 getBackground()和 setBackground()方法的问题。我已经设计了一个应用程序,但现在我发现我没有检查哪个版本是用户android系统(我是android的初学者 - 很好的教训)。
我的应用程序正在构建Build.version> 15,因为在这个版本中引入了上面提到的方法。
我想使用版本16之前存在的类似方法。任何想法?
答案 0 :(得分:3)
{1}}方法自API级别1以来一直存在,所以这不应该是一个问题。启动API级别16时只引入getBackground()
,因此可能会导致旧版平台出现问题。
您的替代方案是:
setBackground(Drawable background)
setBackgroundColor(int color)
setBackgroundDrawable(Drawable background)
在这些方法中,第二个方法自API级别16以来已被弃用,因为它已替换为您当前使用的setBackground(Drawable background)
。但是,如果您查看该方法的实际实现,您将看到以下内容:
public void setBackground(Drawable background) {
//noinspection deprecation
setBackgroundDrawable(background);
}
因此,此时所做的只是委托对已弃用的setBackgroundDrawable()
方法的调用。因此,如果您想要快速修复,只需更改您的代码即可使用该代码并且您很高兴。