3

ユーザーが購入するアイテムを選択して必要なアイテムをカートに追加できるようにするショッピングカートアプリを作成しています。このため、2つの異なるタブを指定しました。

最初のタブ、製品を閲覧する

2 番目のタブ、カート内のアイテムを閲覧する [ユーザーが追加しました]

ここで私は小さな問題に直面しています。カートで更新された数量を取得していませんが、アイテムの数量を変更するたびに合計価格が変更されています。

それで、数量の変更を取得するためにコードに何を追加する必要があるか教えてください、タブ間を移動しながら数量を更新する方法

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

ノート:

[商品] タブから [カート] タブに移動しない場合、商品の数量の変更を表示できますが、[商品] タブから [カート] タブに移動すると、商品の数量に変更がありません...

4

2 に答える 2

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;
于 2013-03-12T11:46:47.243 に答える
0

タブをフラグメントとして実装したと仮定しています。
これが当てはまる場合は、onResume() メソッドをアクティビティからフラグメントに移動する必要があります。

フラグメントのライフサイクルへの参照リンク: http://developer.android.com/guide/components/fragments.html

于 2013-03-04T04:50:56.913 に答える