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

时间:2017-08-18 12:44:25

标签: android listview

我正在尝试制作电子商务应用。当我点击ADD“+”符号时,数量和小计是根据价格计算的。请帮助我重新初始化ListView的每个项目的变量。它适用于第一项。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

我解决了这个问题。但我不满意。任何人都可以使用List或Array ???

来改进它
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));
                }
            });

答案 1 :(得分:0)

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

示例:

创建一个名为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类的对象,如

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

将此列表传递给列表视图适配器并相应地使用

你可以访问像这样的字段         myEntity.price 要么         myEntity.subTotal等。