【问题标题】:View.setBackground throws NoSuchMethodError [duplicate]View.setBackground 抛出 NoSuchMethodError [重复]
【发布时间】:2013-12-30 19:15:33
【问题描述】:

以下代码:

View inflate = inflater.inflate(R.layout.page, null);
Drawable img = getResources().getDrawable((Integer) (item.get("img")));
inflate.findViewById(R.id.page_img).setBackground(img);

产生以下错误:

java.lang.NoSuchMethodError: android.view.View.setBackground

我不知道为什么。我已经用R.drawable.img 尝试了 setBackground,但我得到了同样的错误。

【问题讨论】:

    标签: android view nosuchmethoderror


    【解决方案1】:

    setBackground 方法是在 API 16 中添加的,因此如果您在低于该值的情况下对其进行测试,它将给出NoSuchMethodError

    Check this link for api level details

    【讨论】:

      【解决方案2】:

      此方法是在 API 级别 16 中引入的,您很可能在更早的版本上运行:

      http://developer.android.com/reference/android/view/View.html#setBackground(android.graphics.drawable.Drawable)

      使用 setBackgroundDrawable()

      【讨论】:

        【解决方案3】:

        是的,请阅读 api: http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)

        你应该知道 setBackground 在 16 级时有效,所以你应该始终考虑一件事,那就是我应该使用 1 级的方法来代替......

        希望这对你有帮助。

        【讨论】:

          猜你喜欢
          • 2020-02-09
          • 1970-01-01
          • 1970-01-01
          • 2018-09-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-25
          • 2017-11-09
          相关资源
          最近更新 更多