¿Cómo formateo un doble con los enlaces de vista de vista de Android?

Digamos que tengo una clase de Earthquake que tiene un campo public final double magnitude; , Y tengo un diseño similar a éste:

 <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="earthquake" type="com.example.Earthquake"/> </data> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="48dp"> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:text="@{String.format(earthquake.magnitude)}" /> ... </LinearLayout> </layout> 

Tengo que usar "@{String.format(earthquake.magnitude)}" para usar este campo, de lo contrario, me sale este error:

No se puede encontrar el setter para el atributo 'android: text' en android.widget.TextView con el tipo de parámetro doble.

Desafortunadamente, esto da como resultado que el doble se imprima con toda la precisión. ¿Cómo puedo formatear el doble valor que se muestra?

Todavía no he mirado el lenguaje de expresión de enlace en la vista previa de M SDK, por lo que podría estar saltando a conclusiones, pero si esto llama a través del método String.format() normal, entonces se requiere un patrón. ¿Has probado esto?

 android:text='@{String.format("%.1f", earthquake.magnitude)}' 

String.valueOf () también es una opción:

 android:text="@{String.valueOf(earthquake.magnitude)}" 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.