Как передать два NumberPicker OnValueChange в Android Studio? - PullRequest
0 голосов
/ 21 марта 2020

Я показываю вид выбора из двух чисел, левый - десятичный, а правый - запятая. Я застреваю при попытке передать значение запятой из пользовательского номера class в свой класс activity. потому что OnValueChangeListener, который я реализовал в своей деятельности, захватывает только одно значение:

image

Таким образом, вместо получения значения левого и правого выбора, я получил только одно значение.

Мой код выбора номера

    private NumberPicker.OnValueChangeListener numberChangeListener;
    private NumberPicker.OnValueChangeListener comaChangeListener;

        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setTitle("Atur Durasi Pemberian Pakan");
        builder.setMessage("Pilih angka :");

        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                numberChangeListener.onValueChange(numberPicker,
                        numberPicker.getValue(), numberPicker.getValue());
                comaChangeListener.onValueChange(comaPicker,
                        comaPicker.getValue(), comaPicker.getValue());
            }
        });
        builder.setView(linearLayout);

        return builder.create();
    }

    public NumberPicker.OnValueChangeListener getNumberChangeListener() {
        return numberChangeListener;
    }

    public void setValueChangeListener(NumberPicker.OnValueChangeListener numberChangeListener, NumberPicker.OnValueChangeListener comaChangeListener) {
        this.numberChangeListener = numberChangeListener;
        this.comaChangeListener = comaChangeListener;
    }

}

Код моей активности

   @Override
    public void onValueChange(NumberPicker numberPicker, int i, int i1) {
        DecimalFormat decimalFormat = new  DecimalFormat("#.##");
        dTime = numberPicker.getValue() + comaPicker.getValue() / 10;
        tVDurasi1.setText(dTime + " detik");
        dBerat = dTime * qBerat;
        eTBerat1.setText(decimalFormat.format(dBerat) + " g");

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...