2017-06-04 77 views
1

我已经在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来存储动态每个销售对象,并跟踪其销售对象属于未来使用循环的Arraylist的“索引”。

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


} } 

我该如何进行编码,以便每次单击该按钮时,都会创建一个将其链接到ArrayList的Sale对象?我是否将Arraylist声明为对象类型?请帮忙。

回答

1

你可以这样做:

iteminfo.add(scheck);

甚至不变量scheck如果你不需要它为别的:

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

ArrayList仅仅是对象的列表,所以如果您添加1个对象,它将可用:

Sale lastAddedSale = iteminfo.get(0);

如果添加另一个则iteminfo.get(1)将是这个项目,ArrayList是保持插入顺序,每次添加一个对象时,它是在最后位置时(以获得在列表的最后,你可以iteminfo.get(iteminfo.size() - 1)如果列表不当然是空的)。

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

相关问题