如何在ArrayLists之间传递数据?
即时通讯新的Android工作室和即时通讯有麻烦,我怎么可以将一些特定的数据/ s从一个arraylist传递到另一个arraylist。我目前正在使用订购系统。荫试图从我的ArrayList中添加特定的数据(名称,价格&数量),以我的ArrayList,如果数量> 0如何在ArrayLists之间传递数据?
编辑: 产品列表
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));
}
}
OrderList
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)的单独类。我还有一个用于产品列表的数组适配器,它具有可增加/减少产品数量的按钮。
通常情况下,由于您提供的代码不能简单地在那些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"
你可以做一个Order
类extends Product
,但似乎并没有完全必要的;例如,ArrayList<Product>
可被视为订单或产品库存的实例。
更先进的Android相关的主题涉及为Product
类实现Parcelable
。但是,考虑到上述想法,这一切都归结为更清晰地构建代码。
我想从不同的食物类别(咖啡,面食等)多个项目传递到订单数组,然后将它们保存到另一个列表和清空订单数组采取新的命令..我的问题是,是否有可能没有数据库,或者我应该使用sqlite/mysql? –
无论是否有数据库,这绝对是可能的,但是在这里写出所有这些详细信息的代码太多了 –
我看到了,虐待尝试发布有关该主题的新问题。如果你不介意的话,那么你在那里为你的投入贴上标签。 –
Woha,你在这里发布的很多代码。也许你想转到帮助中心阅读关于提供最小,可行的例子。你看,你不会发现许多人愿意通过所有这些。提示x2:请学习java编码风格约定。你不使用_这样的;类名始终以大写字母开头。不遵守惯例会让你的代码更难读懂任何具有合理Java经验的人。 – GhostCat
您的代码很难阅读,因为您没有遵循基本的命名约定,即类总是应该大写。 –
鉴于你的问题的标题,你可能想研究这个问题:http://stackoverflow.com/questions/7042182/how-to-make-a-deep-copy-of-java-arraylist ...可能会给你你需要修复的知识你的代码。 – GhostCat