2013-05-29 106 views
1

我是Android的初學者,練習一些基本的東西。我做了我的第一個android應用程序,並且在src文件夾中,我使用類MainActivity將類Products放在同一個包中。 在MainActivity中,我使用simple_list_item_1創建了ListViewListView顯示一些數字而不是對象的字段

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

並取得按鈕

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

}); 

當我在我的平板電腦,應用程序的工作運行它,但是當我按下按鈕drink而不是顯示我的列表coffe 100,00的,它顯示[email protected]

類產品基本爲

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

    } 

也許類產品應該在其他一些包中?提前致謝!!

+0

什麼'tn' u能PLZ顯示更多的代碼,在其中添加值客棧'tn'? –

+0

其中activity是你的按鈕? – Metalhead1247

回答

1

您需要爲您的產品類中的toString方法,像這樣的事:

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

    return str.toString(); } 
+0

謝謝!有用!!! – Mikky

1

您需要定義一個toString() - 顯示您想要的內容的方法,而不是由Object提供的默認方法,它執行Classname @ 123f12的內容。

+0

謝謝!有用!!! – Mikky

相關問題