Build.version的setBackground和getBackground方法< 16

时间:2013-08-20 02:13:41

标签: java android version compatibility

我遇到了 getBackground() setBackground()方法的问题。我已经设计了一个应用程序,但现在我发现我没有检查哪个版本是用户android系统(我是android的初学者 - 很好的教训)。

我的应用程序正在构建Build.version> 15,因为在这个版本中引入了上面提到的方法。

我想使用版本16之前存在的类似方法。任何想法?

1 个答案:

答案 0 :(得分:3)

{1}}方法自API级别1以来一直存在,所以这不应该是一个问题。启动API级别16时只引入getBackground(),因此可能会导致旧版平台出现问题。

您的替代方案是:

  1. setBackground(Drawable background)
  2. setBackgroundColor(int color)
  3. setBackgroundDrawable(Drawable background)
  4. 在这些方法中,第二个方法自API级别16以来已被弃用,因为它已替换为您当前使用的setBackground(Drawable background)。但是,如果您查看该方法的实际实现,您将看到以下内容:

    public void setBackground(Drawable background) {
        //noinspection deprecation
        setBackgroundDrawable(background);
    }
    

    因此,此时所做的只是委托对已弃用的setBackgroundDrawable()方法的调用。因此,如果您想要快速修复,只需更改您的代码即可使用该代码并且您很高兴。