Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何覆盖现有数据?_Java_Android_Android Recyclerview - Fatal编程技术网

Java 如何覆盖现有数据?

Java 如何覆盖现有数据?,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有两个回收视图(rvone,rvtwo) 这个人是显示数据列表的人 单击rvone项目时,数据的值会降低 这个项目的一个例子 头衔 1000卢比X 4件 总共4000人 好吧,如果点击了,一定是 标题 1000卢比X 3件 总共3000人 不是只减少了一个吗,那一个移到了两个 意味着结果是这样的 头衔 1000卢比X 1件 总共一千 嗯,该函数已经在运行,但每次单击它时,即使是“新添加”也不是现有函数的新添加 这里有一个例子 标题 1000卢比X 4件 总共4000//点击减少,缺失显示在rv

我有两个回收视图(rvone,rvtwo) 这个人是显示数据列表的人 单击rvone项目时,数据的值会降低 这个项目的一个例子

头衔 1000卢比X 4件 总共4000人

好吧,如果点击了,一定是 标题 1000卢比X 3件 总共3000人 不是只减少了一个吗,那一个移到了两个 意味着结果是这样的

头衔 1000卢比X 1件 总共一千

嗯,该函数已经在运行,但每次单击它时,即使是“新添加”也不是现有函数的新添加

这里有一个例子 标题 1000卢比X 4件 总共4000//点击减少,缺失显示在rvtwo上

//意思是这样 标题 1000卢比X 1件 总共一千

一个变成 标题 1000卢比X 3件 总共3000人

当我再次点击时,它变成这样 rvone: 标题 1000卢比X 2件 2000总数

第二: 标题 1000卢比X 1件 总共一千

头衔 1000卢比X 1件 总共一千

相反,它会变成两个项目,而不是在之前覆盖它 注意:我只是添加了构造函数和bindViewHolder的代码

这是我的rvone_适配器函数onclick,用于向rvtwo发送数据

public class OrderAdapter extends RecyclerView.Adapter<OrderAdapter.OrderViewHolder> {

    List<OrderModel> orderModels;
    public List<OrderCatchModel> orderCatchModels = new ArrayList<>();
    List<OrderDetailModel> orderDetailModels;
    Context context;
    OrderCatchAdapter orderCatchAdapter;

    OrderActivity orderActivity;

    public OrderAdapter(Context context, List<OrderModel> orderModels,List<OrderDetailModel> orderDetailModels){
        this.context = context;
        this.orderModels = orderModels;
        this.orderDetailModels = orderDetailModels;
    }
 @Override
    public void onBindViewHolder(@NonNull final OrderViewHolder holder, final int position) {
        final OrderModel orderModel = orderModels.get(0);

        final Long id = orderModel.getOrderDetailModels().get(position).getId();
        final String itemName = orderModel.getOrderDetailModels().get(position).getItem();
        final long price = orderModel.getOrderDetailModels().get(position).getPrice();
        final long quantity = orderModel.getOrderDetailModels().get(position).getQuantity();
        //final long amount = orderModel.getOrderDetailModels().get(position).getAmount();

        holder.mTxt_item.setText(orderModel.getOrderDetailModels().get(position).getItem());
        holder.mTxt_price.setText("Rp. " + orderModel.getOrderDetailModels().get(position).getPrice());
        holder.mTxt_quantity.setText(orderModel.getOrderDetailModels().get(position).getQuantity() + " Pcs");
        holder.mTxt_amount.setText("Rp. " + orderModel.getOrderDetailModels().get(position).getAmount());

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (quantity == 0){
                    orderModels.get(0).getOrderDetailModels().remove(position);
                    notifyItemRemoved(position);
                    notifyItemRangeChanged(position,orderModels.get(0).getOrderDetailModels().size());
                }else {

                    long q1 = quantity - 1;
                    long a1 = q1 * price;

                    orderModel.getOrderDetailModels().get(position).setQuantity(q1);
                    orderModel.getOrderDetailModels().get(position).setAmount(a1);
                    notifyDataSetChanged();


                    OrderCatchModel orderCatchModel = new OrderCatchModel();
                    orderCatchModel.setId(id);
                    orderCatchModel.setItem(itemName);
                    orderCatchModel.setPrice(price);
                    orderCatchModel.setQuantity(quantity - q1);
                    orderCatchModel.setAmount((quantity - q1) * price);

                    orderCatchModels.add(orderCatchModel);


                    if (context instanceof OrderActivity) {
                        ((OrderActivity)context).addItemToRvTwo(orderCatchModels, orderModel.getOrderDetailModels(), orderModels);
                    }


                }


            }
        });
    }
该型号rv_2用于捕捉项目rv_1

public class OrderDetailModel implements Serializable {
    private Long id;
    private String item;
    private long price;
    private long quantity;
    private long amount;

    public OrderDetailModel(
            Long id,
            String item,
            long price,
            long quantity
    ) {
        this.id = id;
        this.item = item;
        this.price = price;
        this.quantity = quantity;
        this.amount = price * quantity;
    }

    public OrderDetailModel() {

    }
public class OrderCatchModel implements Serializable {

    private Long id;
    private String item;
    private long price;
    private long quantity;
    private long amount;

    public OrderCatchModel(Long id, String item, long price, long quantity, long amount) {
        this.id = id;
        this.item = item;
        this.price = price;
        this.quantity = quantity;
        this.amount = amount;
    }

    public OrderCatchModel() {
    }
这是dummydata

@SuppressLint("SimpleDateFormat")
public class MockData {
    public static List<OrderModel> ORDER_MODELS;

    static {
        ORDER_MODELS = new ArrayList<>();

        try {
            order(
                    1L,
                    "#00000001-001",
                    new SimpleDateFormat("dd-MM-yyyy HH:mm").parse("21-08-2019 09:47"),
                    null,
                    "MJ002",
                    "Sugiyono",
                    Arrays.asList(
                            new OrderDetailModel(
                                    1L,
                                    "Nasi Goreng",
                                    10000,
                                    2
                            ),
                            new OrderDetailModel(
                                    2L,
                                    "Bubur Ayam",
                                    9000,
                                    4
                            ),
                            new OrderDetailModel(
                                    3L,
                                    "Bubur Kacang",
                                    5000,
                                    5
                            ),
                            new OrderDetailModel(
                                    4L,
                                    "Jus Alpukat",
                                    8000,
                                    6
                            ),
                            new OrderDetailModel(
                                    5L,
                                    "Jus Durian",
                                    15000,
                                    2
                            ),
                            new OrderDetailModel(
                                    6L,
                                    "Jus Apel",
                                    13000,
                                    3
                            )
                    )
            );
        } catch (Exception ex) {
            Log.wtf(MockData.class.getSimpleName(), ex);
        }
    }

    @SuppressWarnings("SameParameterValue")
    private static void order(
            Long id,
            String number,
            Date date,
            String customer,
            String table,
            String staff,
            List<OrderDetailModel> orderDetailModels
    ) {
        OrderModel orderModel = new OrderModel();

        orderModel.setId(id);
        orderModel.setNumber(number);
        orderModel.setDate(date);
        orderModel.setCustomer(customer);
        orderModel.setTable(table);
        orderModel.setStaff(staff);
        orderModel.getOrderDetailModels().addAll(orderDetailModels);

        ORDER_MODELS.add(orderModel);
    }
}
@SuppressLint(“SimpleDataFormat”)
公共类模拟数据{
公共静态列表顺序模型;
静止的{
ORDER_MODELS=new ArrayList();
试一试{
命令(
1L,
"#00000001-001",
新的简化格式(“dd-MM-yyy-HH:MM”)。解析(“21-08-2019 09:47”),
无效的
“MJ002”,
“Sugiyono”,
Arrays.asList(
新OrderDetailModel(
1L,
“Nasi Goreng”,
10000,
2.
),
新OrderDetailModel(
2L,
“Bubur Ayam”,
9000,
4.
),
新OrderDetailModel(
3L,
“Bubur Kacang”,
5000,
5.
),
新OrderDetailModel(
4L,
“阿尔普卡之法”,
8000,
6.
),
新OrderDetailModel(
5L,
“榴莲之术”,
15000,
2.
),
新OrderDetailModel(
6L,
“绝对法”,
13000,
3.
)
)
);
}捕获(例外情况除外){
Log.wtf(MockData.class.getSimpleName(),ex);
}
}
@SuppressWarnings(“SameParameterValue”)
私有静态无效订单(
长id,
字符串编号,
日期,
字符串客户,
字符串表,
弦杆,
列出orderDetailModels
) {
OrderModel OrderModel=新的OrderModel();
orderModel.setId(id);
orderModel.setNumber(编号);
orderModel.setDate(日期);
orderModel.setCustomer(客户);
orderModel.setTable(表);
orderModel.setStaff(员工);
orderModel.getOrderDetailModels().addAll(orderDetailModels);
ORDER\u MODELS.add(orderModel);
}
}
问我你是否需要另一个密码

public class OrderCatchModel implements Serializable {

    private Long id;
    private String item;
    private long price;
    private long quantity;
    private long amount;

    public OrderCatchModel(Long id, String item, long price, long quantity, long amount) {
        this.id = id;
        this.item = item;
        this.price = price;
        this.quantity = quantity;
        this.amount = amount;
    }

    public OrderCatchModel() {
    }
@SuppressLint("SimpleDateFormat")
public class MockData {
    public static List<OrderModel> ORDER_MODELS;

    static {
        ORDER_MODELS = new ArrayList<>();

        try {
            order(
                    1L,
                    "#00000001-001",
                    new SimpleDateFormat("dd-MM-yyyy HH:mm").parse("21-08-2019 09:47"),
                    null,
                    "MJ002",
                    "Sugiyono",
                    Arrays.asList(
                            new OrderDetailModel(
                                    1L,
                                    "Nasi Goreng",
                                    10000,
                                    2
                            ),
                            new OrderDetailModel(
                                    2L,
                                    "Bubur Ayam",
                                    9000,
                                    4
                            ),
                            new OrderDetailModel(
                                    3L,
                                    "Bubur Kacang",
                                    5000,
                                    5
                            ),
                            new OrderDetailModel(
                                    4L,
                                    "Jus Alpukat",
                                    8000,
                                    6
                            ),
                            new OrderDetailModel(
                                    5L,
                                    "Jus Durian",
                                    15000,
                                    2
                            ),
                            new OrderDetailModel(
                                    6L,
                                    "Jus Apel",
                                    13000,
                                    3
                            )
                    )
            );
        } catch (Exception ex) {
            Log.wtf(MockData.class.getSimpleName(), ex);
        }
    }

    @SuppressWarnings("SameParameterValue")
    private static void order(
            Long id,
            String number,
            Date date,
            String customer,
            String table,
            String staff,
            List<OrderDetailModel> orderDetailModels
    ) {
        OrderModel orderModel = new OrderModel();

        orderModel.setId(id);
        orderModel.setNumber(number);
        orderModel.setDate(date);
        orderModel.setCustomer(customer);
        orderModel.setTable(table);
        orderModel.setStaff(staff);
        orderModel.getOrderDetailModels().addAll(orderDetailModels);

        ORDER_MODELS.add(orderModel);
    }
}