android:text='@={autuacao.equipamento.limite + ""}'
limite die Bindung in EditText bin mit einem primitiven Doppel.
Aber wenn die Aktivität beginnt, wird der Edittext als 0.0 initialisiert, und ich brauche es leer, wie kann ich das tun?
android:text='@={autuacao.equipamento.limite + ""}'
limite die Bindung in EditText bin mit einem primitiven Doppel.
Aber wenn die Aktivität beginnt, wird der Edittext als 0.0 initialisiert, und ich brauche es leer, wie kann ich das tun?
Sie um es durch die Definition einer eigenen Bindung Adapter bekommen konnte: Sie
@BindingAdapter("android:text")
public static void setDoubleToText(TextView view, double value) {
String text = "";
if (value != 0) {
text = String.valueOf(value);
}
view.setText(text);
}
Zusätzlich könnte auch müssen die inverse Verhalten definieren:
@InverseBindingAdapter(attribute = "android:text")
public static double getDoubleFromText(TextView view) {
try {
return Double.parseDouble(view.getText().toString());
} catch (Exception e) {
return 0.0;
}
}
Tynn Die Antwort war fast da, aber die Parameter sollte wie unten sein, und ich brauchte nicht das inverse Bindemittel.
@BindingAdapter("android:text")
public static void setText(EditText editText, String value) {
if (value == null) {
return;
}
if (value.equals("0.0")) {
editText.setText("");
} else {
editText.setText(value);
}
}