android - 如何在应用程序中制作虚拟购物车?
问题描述
我希望用户在一个活动中按下一个按钮,然后让该活动将数据发送到购物车活动以添加两条信息:商品名称和商品价格。
我已经尝试以各种方式使用意图添加到位于购物车活动中的数组中。我似乎无法在购物车活动的 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”并将 5 添加到其变量 totalCost。然后我希望 activity_cart 中的 ArrayAdapter 在屏幕上显示“itemNames”的内容。
解决方案
推荐阅读
- mongodb - 在 MongoDB 数组中聚合
- angular - 谷歌地图标记标题重复
- android - 在 Android 6.0 上测试通过,但在 Android 8.0 上失败 - androidx.test.espresso.PerformException:执行“单击”时出错
- keycloak - 如何为 Keycloak 中的内置角色定义更细粒度的权限或自定义逻辑
- python - GeoPandas - 网格分散数据和重新投影
- spring - 带有配置的 Spring Boot 错误 bean
- php - 如何以及在何处将变量传递给 MailJet 中的活动?
- ruby-on-rails - byebug:不确认退出
- javascript - 如何在 console.log 中设置文本背景颜色的样式?
- elasticsearch - 将 Elasticsearch 的 http_port 号改为 80