android如何在购物车中添加数量?

时间:2014-03-03 20:22:29

标签: java android listview arraylist cart

你好我希望你能理解我,我的英语不好,对不起 ,我有一个activity,其中包含listview个产品,如果您将点击添加到另一个活动购物车中。到现在为止还挺好。我已经得到了如果你点击一篇文章2次,2个相同的项目将不会添加到购物车中,但现在我想建立一个方法来向我显示相同的项目,如果我按了2次,在数量字段中退出2 ,逻辑上,价格乘以2。

因此,将单击的项目插入购物车活动中:
我创建了一个计算项目被点击次数的变量,(contador)

case 0:
if (page1 == null)
{
       page1 = (ListView) LayoutInflater.from(Local_mostrar_bebidaActivity.this).inflate(R.layout.page_one_viewpager_listview, null);
       page1.setAdapter(adapterlistvMenuBEBIDAS);
       page1.setOnItemClickListener(new OnItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> parent, View view, int position, long id)                                  {
       ItemListView item = itemsListVMenuBEBIDAS.get(position);
       if (MiPedidoActivity.itemsListVMiPedido.contains(item)) { // <- look for item!
       // ... item already in list
               Log.i(LOGTAG, "Añadido item "+ contador+" "+ numUds);
               ++contador;
               numUds=contador;
    } 
        else {
               MiPedidoActivity.itemsListVMiPedido.add(item);
               contador= 1;
               numUds=contador;
               Log.i(LOGTAG, "Añadido item "+ contador+" "+ numUds);
         }});
}
page = page1;
break;

我在arraylist

中添加产品
private static ArrayList<ItemListView> obtenerItemsMenuBEBIDAS() {
    ArrayList<ItemListView> itemsMenuBEBIDAS = new ArrayList<ItemListView>();

    itemsMenuBEBIDAS.add(new ItemListView(1, "Product1", "malta y z.", "drawable/a1","3.10",""+numUds));

    itemsMenuBEBIDAS.add(new ItemListView(3, "Cocacola", "Botellin de 22ml","drawable/cocacola_logo","1.75",""+ numUds));
    itemsMenuBEBIDAS.add(new ItemListView(4, "Cocacola Zero", "Botellin de 22ml","drawable/cocacola_zero","1.75",""+ numUds ));

    return itemsMenuBEBIDAS;
}

(numUds)是我创建的一个变量,用于了解已点击的单位数,然后显示相应的textview

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定你在哪里声明'numUds'和'contador'变量,但它们似乎是Activity类的变量,而不是列表中的每个项目。

您似乎有一个名为ItemListView的类,它代表列表中的每个对象。在该类中,您必须拥有一个属性来跟踪每个对象的单位数(可能是'numUds') 。这样你可以增加count变量,如下所示:

ItemListView item = itemsListVMenuBEBIDAS.get(position);
item.numUds ++;