activity BottomSheetDialog 弹出购物车列表,activity添加商品时,fragment也变化
时间: 2024-03-02 12:54:16 浏览: 23
要实现在 Activity 中添加商品,同时在弹出的 BottomSheetDialog(购物车列表)中显示添加的商品,可以使用以下步骤:
1. 在 Activity 中定义一个 List,用于保存已经添加的商品。
```java
List<String> itemList = new ArrayList<>();
```
2. 在 BottomSheetDialog 中添加商品列表,可以使用 RecyclerView 来实现。在 RecyclerView 的 Adapter 中,使用传入的 itemList 来显示商品列表。
```java
public class ItemListAdapter extends RecyclerView.Adapter<ItemViewHolder> {
private List<String> itemList;
public ItemListAdapter(List<String> itemList) {
this.itemList = itemList;
}
//...实现其他方法
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
String item = itemList.get(position);
holder.itemName.setText(item);
}
}
```
3. 在 Activity 中添加商品时,同时更新 itemList,并且刷新 RecyclerView。
```java
public void addItem(String item) {
itemList.add(item);
itemListAdapter.notifyDataSetChanged();
}
```
4. 在 BottomSheetDialog 中获取 Activity 的实例,然后通过该实例调用 addItem 方法来添加商品。
```java
public class CartBottomSheetDialog extends BottomSheetDialogFragment {
private MyActivity myActivity;
//...实现其他方法
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
myActivity = (MyActivity) context;
}
private OnClickListener addItemClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
//获取商品名称
String item = "apple";
//调用 Activity 的 addItem 方法来添加商品
myActivity.addItem(item);
}
};
}
```
这样,当你在 Activity 中添加商品时,BottomSheetDialog 中的商品列表也会随之更新。