如何在应用程序中制作虚拟购物车?

时间:2019-06-14 00:43:06

标签: android android-intent

我希望用户在一个活动中按下按钮,然后让该活动将数据发送到购物车活动中以添加两条信息:商品名称和商品价格。

我尝试过以各种方式使用意图添加到购物车活动中的数组。我似乎无法在购物车活动中的UI上弹出商品名称。

//activity one xml file
<Button
    android:id="@+id/button20"
    android:layout_width="250dp"
    android:layout_height="99dp"
    android:layout_marginBottom="400dp"
    android:text="5 Miles - $5"
    android:onClick="createItem"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

//activity one
package com.example.qwertyuiop;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import static com.example.qwertyuiop.Cart.itemNames;
import static com.example.qwertyuiop.Cart.totalCost;

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
}

public void createItem(View view) {
    Intent i = new Intent(this, Cart.class);
    i.putExtra("1", itemNames.add("test"));
    i.putExtra("2", totalCost + 5);

    }
}

//shopping cart activity

public class Cart extends AppCompatActivity {
static ArrayList<String> itemNames = new ArrayList<String>();
static int totalCost = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cart);

    ListView listView = (ListView) findViewById(R.id.cartlv);
    ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android . R . layout . simple_list_item_1, itemNames);
    listView.setAdapter(adapter);
}
}

//shopping cart xml
<ListView
    android:id="@+id/cartlv"
    android:layout_width="395dp"
    android:layout_height="500dp"
    android:layout_marginTop="16dp"
    android:layout_marginBottom="215dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

我想发生的是,当用户按下按钮20时,activity_second将一个意图发送给activity_cart,以添加到其ArrayList“ itemNames”,并向其变量totalCost添加5。然后,我希望activity_cart中的ArrayAdapter在屏幕上显示“ itemNames”的内容。

0 个答案:

没有答案