我正在编写一个购物车应用程序,在该应用程序中,我允许用户选择购买商品,并将所需项目添加到购物车中。为此,我给出了两个不同的选项卡,
第一个标签,浏览产品
第二个选项卡,要浏览购物车中添加的项目
这是我面临的一个小问题。我不是在购物车中得到更新的数量,而是得到的总价格的变化,每当我做改变的项目数量。
因此,告诉我需要在代码中添加什么才能获得数量上的更改,如何在Tabs之间移动时更新数量
我用onResume()在ViewCartActivity.java下编写了下面的代码:
@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;}注:
如果我不从产品标签移动到购物车标签,我可以查看一个项目的数量变化,但一旦我将从产品标签移动到购物车标签,那么我不会得到一个项目的数量变化.
发布于 2013-03-12 11:46:47
我想你走的路是对的,只要耐心地检查一下,在手推车上添加项目,然后更新购物车项目,等几秒钟,我希望它会更新你的手推车本身……
在我看来,你的代码很好:
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;发布于 2013-03-04 04:50:56
我假设您已经将选项卡实现为片段。
如果这是真的,那么您需要将onResume()方法从活动移到片段中。
片段生命周期的参考链接:http://developer.android.com/guide/components/fragments.html
https://stackoverflow.com/questions/15194520
复制相似问题