gpt4 book ai didi

android - ListView 显示一些数字而不是对象的字段

转载 作者:行者123 更新时间:2023-11-29 21:42:00 25 4
gpt4 key购买 nike

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

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

}

也许 class Products 应该在其他包中?提前致谢!!

最佳答案

您的 Product 类需要一个 toString 方法,像这样:

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

return str.toString(); }

关于android - ListView 显示一些数字而不是对象的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com