Как отключить кнопку и очистить arraylist? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть какая-то кнопка и массив, моя кнопка имеет условие

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

и textTotalFinalPrice, установите значение 0

, но в моем случае эта функция действительно работает НО должно быть 2 щелчка, чтобы установить значение textTotalFinalPrice и отключить button.

, если только 1 щелчок 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();
            });
        }
    }

Буду признателен за ваш ответ

Ответы [ 3 ]

1 голос
/ 25 сентября 2019

Попробуйте использовать list = new ArrayList <> ();

0 голосов
/ 25 сентября 2019

ИСПРАВЛЕНО

Просто добавьте новый ArrayList с небольшой настройкой, например: activity.header = new Header(0,0,0,0,0,0,new ArrayList());

0 голосов
/ 25 сентября 2019

отметьте size из getCarts() в случае, если указано ниже

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