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

Java 如何禁用按钮并清除arraylist?,java,android,list,conditional-statements,Java,Android,List,Conditional Statements,我有一些按钮和数组列表,我的按钮有条件 if(list.isEmpty){ button.setEnabled(false) } 和textTotalFinalPrice将值设置为0 但在我的例子中,该函数实际工作,但必须有2次单击才能设置值textotalfinalprice,并禁用按钮 如果只需单击一次,请单击ArrayList不清除数据 我尝试了list.clear()仍然不工作 代码: public void calculateTotalPrice(){

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

if(list.isEmpty){ 
   button.setEnabled(false)  
} 
textTotalFinalPrice
将值设置为
0

但在我的例子中,该函数实际工作,但必须有2次单击才能设置值
textotalfinalprice
,并禁用
按钮

如果只需单击一次,请单击
ArrayList
不清除数据

我尝试了
list.clear()仍然不工作

代码:

    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();
            });
        }
    }

如果您的回答符合以下条件,请检查
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();
            });
        }
    }

尝试使用list=new ArrayList()

固定的

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

尝试检查大小,如果是零,我也尝试过,但遇到同样的问题。顺便说一句,isEmpty
=
list.Size()==0
,它只是简单地显示一些代码在另一个代码中没有任何问题,只是如何使用
new Arraylist()清除列表并初始化一个新的列表
并查看如果
getCarts(),size>0
按钮将始终处于禁用状态,请重新检查我的问题。我明白了,只需进行一点自定义。谢谢你,伙计!