Я показываю вид выбора из двух чисел, левый - десятичный, а правый - запятая. Я застреваю при попытке передать значение запятой из пользовательского номера class
в свой класс activity
. потому что OnValueChangeListener
, который я реализовал в своей деятельности, захватывает только одно значение:
Таким образом, вместо получения значения левого и правого выбора, я получил только одно значение.
Мой код выбора номера
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");
Спасибо