有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何禁用按钮并清除arraylist?

我有一些按钮和数组列表,我的按钮有条件

if(list.isEmpty){ 
   button.setEnabled(false)  
} 

textTotalFinalPrice将值设置为0

但在我的例子中,实际工作的函数必须有2次单击来设置值textTotalFinalPrice并禁用button

如果仅1次,请单击ArrayList不清除数据

i have try list.clear(); still not working

代码:

    public void calculateTotalPrice(){
        activity.header.grandTotalPrice();
        activity.textTotalFinalPrice.setText(NumberFormat.getCurrencyInstance(new Locale("id", "id")).format(activity.header.getFinalTotal()));
    }

    private void conditionCartsSize() {
        if (activity.header.getCarts().isEmpty()){
            activity.textFinishOrder.setEnabled(false);
        }else{
            activity.textFinishOrder.setEnabled(true);
            activity.textFinishOrder.setOnClickListener(view -> {
                PrintHelper.bluetoothPrint(activity, activity.header);
                calculateTotalPrice();
                AlertDialog dialog = new AlertDialog.Builder(activity)
                        .setTitle("Pesanan Berhasil")
                        .setMessage("Silahkan Ambil Struk Anda")
                        .create();

                dialog.show();
                activity.header.getCarts().removeAll(activity.header.getCarts());
                notifyDataSetChanged();
            });
        }
    }

我将非常感谢你的回答


共 (3) 个答案

  1. # 1 楼答案

    固定的

    只需对新ArrayList进行一点自定义,如下所示: activity.header = new Header(0,0,0,0,0,0,new ArrayList());

  2. # 2 楼答案

    在if条件中检查getCarts()size,如下所示

      private void conditionCartsSize() {
            if (activity.header.getCarts().size>0){
                activity.textFinishOrder.setEnabled(false);
            }else{
                activity.textFinishOrder.setEnabled(true);
                activity.textFinishOrder.setOnClickListener(view -> {
                    PrintHelper.bluetoothPrint(activity, activity.header);
                    calculateTotalPrice();
                    AlertDialog dialog = new AlertDialog.Builder(activity)
                            .setTitle("Pesanan Berhasil")
                            .setMessage("Silahkan Ambil Struk Anda")
                            .create();
    
                    dialog.show();
                    activity.header.getCarts().removeAll(activity.header.getCarts());
                    notifyDataSetChanged();
                });
            }
        }
    
  3. # 3 楼答案

    尝试使用list=newarraylist<&燃气轮机;();