在View中,setBackground无法应用于(int)。

3

尝试将背景设置为文本。

问题是出现了下一个错误 - View 中的 setBackground 无法应用于(int)

这里是我的代码:

if (restaurants.get(position).getOffers() != null) {

        viewHolder.offerOrNew.setText("%");
        viewHolder.offerOrNew.setBackground(R.drawable.offers_style);
    }

该错误是由这一行引起的。
viewHolder.offerOrNew.setBackground(R.drawable.offers_style);

1
请提供您的错误日志。 - A Farmanbar
我建议您熟悉文档以及 http://d.android.com 。特别是,如果您在谷歌搜索您的视图类名称(如TextViewImageView等),您将会找到描述该类中每个方法的文档。 - Code-Apprentice
1个回答

6

View.java 文件中,方法 setBackground() 的签名如下:

public void setBackground(Drawable background)

因此,参数必须是 Drawable 对象而不是资源 ID。
您可以使用 setBackgroundResource() 代替:
viewHolder.offerOrNew.setBackgroundResource(R.drawable.offers_style);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接