Я хочу, чтобы пользователь нажимал кнопку в одном действии, а затем отправлял данные в действие в корзину покупок, чтобы добавить две части информации: название товара и цену товара.
Я пытался использовать намерения всеми способами, чтобы добавить в массив, расположенный в корзине. Кажется, я не могу сделать так, чтобы имя элемента отображалось в пользовательском интерфейсе в корзине.
//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. Затем я хотел бы, чтобы ArrayAdapter в activity_cart отображал содержимое «itemNames» на экране.