簡體   English   中英

如何在ArrayList之間傳遞數據?

[英]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(s​​tring,double,int,int)和order.class(s​​tring,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 ProductOrder類,但這似乎並非完全必要。 例如, ArrayList<Product>可以視為訂單或產品庫存的實例。


與Android相關的更高級的主題涉及為該Product類實現Parcelable 但是,考慮到以上想法,所有這些都歸結為更干凈地構建代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM