2010-07-22 3 views
2

Je tente d'enregistrer une image unique à chaque objet mais j'obtiens cette erreur, comment le constructeur devrait-il chercher à fonctionner de cette façon? Le constructeur Beer (String, int, int) est définieComment puis-je passer un R.drawable en tant que paramètre afin que je puisse obtenir des images analysées?

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; 
    } 

} 

Répondre

5
final Beer b1 = new Beer("Tuborg", 7,context.getResources().getDrawable(R.drawable.tuborg)); 

et comme l'a dit avant:

public Beer(String name, int color, Drawable icon) 

Ou vous pouvez envoyer l'int en tant que paramètre:

final Beer b1 = new Beer("Tuborg", 7, R.drawable.tuborg); 

et:

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

getDrawable() est supprimé dans l'API 22 –

0

bière publique (String name, couleur int, icône Drawable)

+0

Et: icône R.drawable privé; devrait être privé Icône dessinable; –

Questions connexes