El enlace de datos de Android no funciona
Estoy tratando de hacer un ejemplo de prueba simple con Android Data Binding
. Sólo quiero mostrar en mi fragmento el texto "test"
en el EditText
llamado "title"
, pero este texto no se muestra. Aquí está mi código:
TestVM.java
- Incluir etiqueta y dataBinding
- DataBinding: ¿Cómo obtener el recurso por id dinámico?
- ¿Puedo enlazar un mensaje de error a un TextInputLayout?
- Cómo configurar el error en EditText utilizando DataBinding MVMF de Framwork
- Banda de datos Android @BindingConversion falla para int a cadena
public class TestVM extends BaseObservable { public TestVM() {} @Bindable public String getText() { return "test"; } }
Fr_login.xml
<layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="test" type="de.theappguys.templateandroid.viewmodel.TestVM"/> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_marginTop="20dp" android:text="@{test.text}" android:textSize="22sp" android:textStyle="bold" android:textColor="@android:color/black" /> </RelativeLayout> </layout>
FrLogin.java
@EFragment public class FrLogin extends Fragment { ... @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { FrLoginBinding binding = DataBindingUtil.inflate(inflater, R.layout.fr_login, container, false); return binding.getRoot(); } ...
Construir un gradiente
android { ..... dataBinding { enabled = true } .... }
- Android databinding usando operador lógico "&&"
- Kotlin Kapt no muestra errores de enlace de datos al ejecutar desde Android Studio
- Enlace de datos: enlaza método único de escucha con múltiples métodos
- MVVM: Cómo Concat la cadena en clase de modelo?
- Actualización de la interfaz de usuario mediante la biblioteca de enlace de datos
- Enlaces de datos con oyentes personalizados en la vista personalizada
- ¿Qué es la clase "DataBindingComponent" en el enlace de datos android?
- Android databinding en android: atributo de fondo utilizando código de color de cadena
Usted necesita fijar el valor a su vinculante
FrLoginBinding binding = DataBindingUtil.inflate(inflater, R.layout.fr_login, container, false); binding.setTest(new TestVM());
Problema con su código es que no hay conexión entre su modelo y Fragment
.
Usted tiene que atar su ViewModel
también. P.ej
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { FrLoginBinding binding = DataBindingUtil.inflate(inflater, R.layout.fr_login, container, false); binding.setTest(new TestVM()); return binding.getRoot(); }
- ¿Cómo puedo acceder a las API privadas de Android que no están expuestas en TelephonyManager?
- OnLongClickListener no funciona en WebView