1

我是 Android 的初学者,正在练习一些基本的东西。我制作了我的第一个 android 应用程序,并在包的 src 文件夹中创建了Products与 MainActivity 类在同一个包中的类。在 MainActivity 我ListView用 simple_list_item_1 创建。

  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时,它显示 com.ana.helloworld.Products@410c9a40

类产品是基本的

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

     }  

也许类产品应该在其他包中?提前致谢!!

4

2 回答 2

1

您需要定义一个 toString() 方法来显示您想要的内容,而不是 Object 提供的默认方法,后者执行 Classname@123f12 的内容。

于 2013-05-29T18:20:05.663 回答
1

您的 Product 类需要一个 toString 方法,如下所示:

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

    return str.toString(); }
于 2013-05-29T18:20:17.790 回答