活动onResume()

时间:2013-03-04 04:23:14

标签: android android-lifecycle

我正在写一个购物车应用,其中允许用户选择要购买的商品并将所需商品添加到购物车,为此我给了两个不同的标签,

第一个标签,浏览产品

第二个标签,用于浏览购物车中的商品[已添加用户]

我在这里面临一个小问题。我没有在购物车中获得更新数量,但只要我更改商品数量,就获取总价格的变化

所以,请告诉我我需要在代码中添加什么才能更改数量,如何在标签之间移动时更新数量

我在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没有任何变化,每当我在标签之间移动时我面对的这个问题:

enter image description here

使用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;}

注意:

如果我不从产品标签移动到购物车标签,我可以查看商品数量的变化,但是一旦我从产品标签移动到购物车标签,我就不会更改商品的数量。 ..

2 个答案:

答案 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