8
votes

Comment puis-je passer un paramètre R.Drawable comme paramètre afin que je puisse obtenir des images analysées

J'essaie d'enregistrer une image unique à chaque objet, mais je reçois cette erreur, comment le constructeur devrait-il rechercher cela pour fonctionner de cette façon? La bière Constructor (String, INT, INT) est indéfinie

m_beer = new ArrayList<Beer>();
              final Beer b1 = new Beer("Tuborg", 7, R.drawable.tuborg);
              final Beer b2 = new Beer("Carlsberg", 7, R.drawable.carlsberg);
              final Beer b3 = new Beer("Urquel", 9, R.drawable.urquel);


public class Beer 
{
    //Members
    private String name;
    private int color; //1 = Very dark 10 = Very light
    private R.drawable icon;

    //Methods
    public Beer(String name, int color, R.drawable icon)
    {
        this.name = name;
        this.color = color;
        this.icon = icon;
    }

    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public int getColor()
    {
        return this.color;
    }
    public void setColor(int color)
    {
        this.color = color;
    }

    public R.drawable getIcon()
    {
        return icon;
    }

}


0 commentaires

3 Réponses :


0
votes

bière publique (nom de cordes, couleur int, icône drables)


1 commentaires

Et: icône privée R.Drable; devrait être une icône privée dradable;



12
votes
public Beer(String name, int color, int icon)
{
    this.name = name;
    this.color = color;
    this.icon = context.getResources().getDrawable(icon);
}

1 commentaires

getdrawable () obsolète dans API 22



0
votes

Vous pouvez utiliser GetDrawable () de contexte pour mettre en œuvre cela. Dans mon cas, cela fonctionnait.

my_signature_element.setBackground(this.getResources().getDrawable(R.drawable.bg_round_signature, null));


0 commentaires