[英]How to pass data between ArrayLists?
我是android studio的新手,我在如何將某些特定數據從一個arraylist傳遞到另一個arraylist時遇到麻煩。 我目前正在使用訂購系統。 我試圖將數量> 0的特定數據(名稱,價格和數量)從我的陣列列表添加到我的陣列列表中。
編輯:產品列表
public class product_List extends ListFragment{
ArrayList<product> productList;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
productList = new ArrayList<product>;
productList.add(new product("Pasta 1", $10.00, 0(this is for Quantity), R.drawable.pastaIcon1));
}
}
訂單
public class order_List extends ListFragment {
ArrayList<order> orderList;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
orderList = new ArrayList<order>;
// HERE I want to add the product/s if its quantity > 0
}
}
我為product.class(string,double,int,int)和order.class(string,double,int)有一個單獨的類。 我也有一個用於productlist的arrayAdapter,該適配器具有將增加/減少產品數量的按鈕。
通常,使用您提供的代碼,您不能簡單地在這些ArrayList之間“傳遞”數據,因為它們是不同的類型,這不是Android開發問題,而僅僅是Java。
按照這種模式,您可以 “在列表之間傳遞數據”,但是這里的整體解決方案是重組代碼,以遵循面向對象的原則。
class Product {
int id; // Some unique identifer
String name; // What the product is called
double cost; // What it costs
int resourceId; // A resource ID for Android to draw for this
}
然后,“咖啡”類的描述性太強,而僅僅是“產品”,而“咖啡”是該產品的實例。
Product coffee = new Product("coffee");
ArrayList<Product> orders1 = new ArrayList<>();
orders.add(coffee);
ArrayList<Product> orders2 = new ArrayList<>();
orders2.add(orders1.get(0)); // "passing"
您可以創建一個extends Product
的Order
類,但這似乎並非完全必要。 例如, ArrayList<Product>
可以視為訂單或產品庫存的實例。
與Android相關的更高級的主題涉及為該Product
類實現Parcelable
。 但是,考慮到以上想法,所有這些都歸結為更干凈地構建代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.