【问题标题】:android How to add quantity in the shopping cart?android 如何在购物车中添加数量?
【发布时间】:2014-03-03 20:22:29
【问题描述】:

你好希望你能理解我,我的英文不好,对不起 ,我有一个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

有什么想法吗?

【问题讨论】:

  • 这是什么意思,在数量字段中退出2,价格乘以2,逻辑上。

标签: java android listview arraylist cart


【解决方案1】:

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

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

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

【讨论】:

  • 哦,非常感谢,我会试试这个解决方案,看看它是否有效。但我认为你有正确的答案。感谢您的帮助
  • 这对我来说是完美的!谢谢
猜你喜欢
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
相关资源
最近更新 更多