如何将arraylist值链接到类对象? (机器人)

时间:2017-06-04 23:10:08

标签: java android arraylist

我在Android studio中创建了一个类Sale.java:

 public class Sale {

private String Name;
private double Price;
private int quantity;

 public Sale(String Name, double Price, int quantity) {
    this.Name = Name;
    this.Price = Price;
    this.quantity = quantity;

}
 public String getName() {
     return Name;
}

public void setName(String Name) {
    this.Name = Name;
}

public double getPrice() {
    return Price;
}

public void setPrice(double Price) {
    this.Price = Price;
}

public int getQuantity() {
    return quantity;
}

public void setQuantity(int quantity) {
    this.quantity = quantity;
}

 } 

在我的mainactivity.java中,我想创建一个Arraylist来动态存储每个Sale对象,并且通过以后使用for循环跟踪哪个Sale对象属于Arraylist中的哪个“index”。

//Arraylist for storing information about items
ArrayList<Sale> iteminfo = new ArrayList<>();
Sale scheck;

 EditText ItemName;
EditText ItemPrice;
EditText Itemqty;

 protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sales);

    ItemName = (EditText) findViewById(R.id.addName);
    ItemCostPrice = (EditText) findViewById(R.id.addprice);
    ItemQty = (EditText) findViewById(R.id.addqty);


 btnSaveinfo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    double Price = Double.parseDouble(ItemPrice.getText().toString());
                double Qty = 
 Double.parseDouble((ItemQty.getText().toString()));
            string Name = ItemName.getText().toString();

   scheck = new Sale(Name, Price, Qty);


 } }

如何对每次单击按钮进行编码,创建一个Sale对象,将其链接到ArrayList?我是通过将Arraylist声明为对象类型来做到的吗?请帮忙。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

iteminfo.add(scheck);

如果您不需要其他任何内容,即使没有变量scheck

iteminfo.add(new Sale(Name, Price, Qty));

ArrayList只是一个对象列表,因此如果添加1个对象,它将可用于:

Sale lastAddedSale = iteminfo.get(0);

如果你添加另一个,那么iteminfo.get(1)就是这个项目,ArrayList保持插入顺序,每次添加一个对象时它都在最后一个位置(为了获得列表中的最后一个,你可以{ {1}}如果列表当然不为空。)

此外,变量名称应以小写字母开头,它是Java中的一种惯例,可以将它们命名为这样,这样就不会将变量与类名混淆(因为它们的名称以大写字母开头)。