我正在写一个购物车应用,其中允许用户选择要购买的商品并将所需商品添加到购物车,为此我给了两个不同的标签,
第一个标签,浏览产品
第二个标签,用于浏览购物车中的商品[已添加用户]
我在这里面临一个小问题。我没有在购物车中获得更新数量,但只要我更改商品数量,就获取总价格的变化。
所以,请告诉我我需要在代码中添加什么才能更改数量,如何在标签之间移动时更新数量
我在ViewCartActivity.java下的onResume()中编写了以下代码:
@Override
protected void onResume()
{
super.onResume();
if (Constants.mItem_Detail.size() == 0)
{
return;
}
Double mGTotal = Double.parseDouble(Constants.mItem_Detail.get(0).get(SingleTrackActivity.KEY_TOTAL));
for (int i = 1; i < Constants.mItem_Detail.size(); i++)
{
mGTotal = mGTotal + Double.parseDouble(Constants.mItem_Detail.get(i).get(SingleTrackActivity.KEY_TOTAL));
}
mGrandTotal = String.valueOf(mGTotal);
mTxtViewGrandTotal.setText(mGrandTotal);
myTextVeiwGrandTotal.setText(mGrandTotal);
mTxtViewGrandTotal.setText(new DecimalFormat("##.##").format(mGTotal));
mTotal = String.valueOf(Constants.mItem_Detail.size());
mItems.setText(mTotal);
}
请看下面的屏幕截图,我已经更新了一个项目的数量从1到10,因此我的总金额有所变化,但是数量只变为1没有任何变化,每当我在标签之间移动时我面对的这个问题:
使用Products.java类中的以下代码更新项目的数量:
for (int i = 0; i < Constants.mItem_Detail.size(); i++) {
if (Constants.mItem_Detail.get(i).get(TAG_NAME)
.equals(song_name)) {
Constants.mItem_Detail.remove(i);
break;}
注意:
如果我不从产品标签移动到购物车标签,我可以查看商品数量的变化,但是一旦我从产品标签移动到购物车标签,我就不会更改商品的数量。 ..
答案 0 :(得分:1)
我猜你正走在正确的道路上,只需要耐心检查,将物品添加到购物车然后更新购物车物品,等待几秒钟,我希望它会更新你的购物车......
您的代码对我来说很好:
for (int i = 0; i < Constants.mItem_Detail.size(); i++) {
if (Constants.mItem_Detail.get(i).get(TAG_NAME)
.equals(song_name)) {
Constants.mItem_Detail.remove(i);
break;
答案 1 :(得分:0)
我假设您已将标签实施为片段 如果这是真的,那么您需要将onResume()方法从Activity移动到片段。
片段生命周期的参考链接:http://developer.android.com/guide/components/fragments.html