如何在Android中为不同的Listview项目使用不同的变量或数组?

如何在Android中为不同的Listview项目使用不同的变量或数组?,android,listview,Android,Listview,我正在尝试制作一个电子商务应用程序。当我单击添加“+”符号时,数量和小计是根据价格计算的。请帮助我重新初始化列表视图中每个项目的变量。第一项工作正常 我解决了这个问题。但我并不满意。有人可以通过使用列表或数组来改进它吗 add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

我正在尝试制作一个电子商务应用程序。当我单击添加“+”符号时,数量和小计是根据价格计算的。请帮助我重新初始化
列表视图
中每个项目的变量。第一项工作正常


我解决了这个问题。但我并不满意。有人可以通过使用列表或数组来改进它吗

add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String q= (String) quantity.getText();
                    Double d = Double.parseDouble(q);
                    qty=d;
                    qty++;

                    Double sub_total =currentItem.getPrice();



                    item_sub_total = qty*sub_total;
                    quantity.setText(String.valueOf(qty));
                    subtotal.setText(String.valueOf(item_sub_total));
                }
            });

创建一个类并相应地声明其成员。现在,无论何时需要添加新行,都要创建该类的对象并为其赋值

例如:

创建一个名为MyEntity的类

public class MyEntity {

    String entity = "";
    double price = 0.0;
    int quantity = 0;
    double subTotal = 0.0;

    public MyEntity(String entity, double price, int quantity, double subTotal) {
        this.entity = entity;
        this.price = price;
        this.quantity = quantity;
        this.subTotal = subTotal;
    }
}
用法:

在活动中或创建列表的任何位置创建列表

List<MyEntity> myEntityList = new ArrayList<>();
将此列表传递给列表视图适配器并相应地使用

您可以访问以下字段: myEntity.price 或
myEntity.subTotal等

您可以对数据进行更改,然后刷新列表视图。add.setOnClickListener(new view.OnClickListener(){@Override public void onClick(view view view){Long sub_total=currentItem.getPrice();item_sub_total=qty*sub_total;quantity.setText(String.valueOf(qty));subtotal.setText(String.valueOf(item_sub_total));};
add.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        String q = (String) quantity.getText();
        Double d = Double.parseDouble(q);
        qty=d;
        qty++;

        Double sub_total =currentItem.getPrice();

        item_sub_total = qty*sub_total;

        MyEntity myEntity = new MyEntity("Onion", sub_total, qty, item_sub_total);

        myEntityList.add(myEntity);
    }
});