我在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声明为对象类型来做到的吗?请帮忙。
答案 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中的一种惯例,可以将它们命名为这样,这样就不会将变量与类名混淆(因为它们的名称以大写字母开头)。