2013-05-29 4 views
1

Je suis un débutant dans Android et la pratique de certaines choses de base. J'ai fait ma première application Android, et dans le dossier src dans le paquet j'ai fait la classe Products dans le même paquet avec la classe MainActivity. Dans MainActivity, je crée ListView avec simple_list_item_1.ListView montre quelques chiffres au lieu des champs de l'objet

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ListView list=(ListView)findViewById(R.id.bill); 
    adapter=new ArrayAdapter<Products>(this,android.R.layout.simple_list_item_1,tn); 
    list.setAdapter(adapter); 

et le bouton en

Button drink=(Button)findViewById(R.id.coffe); 
    drink.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      Products c=new Products("coffe","100,00");   
      adapter.add(c); 
     } 

}); 

Quand je lance sur ma tablette, application fonctionne, mais quand j'appuyez sur le bouton drink au lieu de me montrer coffe 100,00 sur la liste, il montre [email protected]

classe Produits de base

package com.ana.helloworld; 

    public class Products { 

private String name = "noname"; 
private String price="null"; 

public Products(){ 
    }; 

public Products(String name,String price) 
{ 
    this.name=name; 
    this.price=price; 
}; 

public String getPrice(){ 
return price;} 

public void setPrice(String p){ 
    price=p;} 

public String getName(){ 
    return name;} 

public void setName(String n){ 
    name=n;} 

    } 

Peut-être que les produits de classe devraient être dans un autre paquet? Merci d'avance!!

+0

ce qui est 'tn' can u plz montrer plus de code où vous ajoutez value inn' tn'? –

+0

dans quelle activité est votre bouton? – Metalhead1247

Répondre

1

Vous avez besoin d'une méthode toString pour votre classe de produit, quelque chose comme ça ferait:

public String toString(){ 
    StringBuilder str = new StringBuilder(); 
    str.append(name); 
    str.append("\n"); 
    str.append(price); 

    return str.toString(); } 
+0

merci! Ça marche!!! – Mikky

1

Vous devez définir une méthode toString() qui affiche ce que vous voulez à la place de celle par défaut fournie par Object, ce qui correspond à la classe Classname @ 123f12.

+0

merci! Ça marche!!! – Mikky

Questions connexes