2017-06-04 37 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中的一種慣例,因此您不要將變量與類名混淆(因爲它們以大寫字母開頭)。

相關問題