tutorial studio example español databinding data android mvvm data-binding viewmodel android-databinding

android - studio - data binding español



Clase duplicada encontrada en el archivo ''/activity_login.xml'' DataBinding, no se está generando BR (12)

Principalmente me quedo estancado con el tema de enlace de datos de Android BR. Hay solo activity.xml siempre pero la clase de enlace generada muestra un error. Por favor, hágame saber cómo resolver este problema.


El nombre de la clase de enlace personalizado resolvió mi problema

<data class="ContactItem"> … </data>


En mi caso, este problema fue causado por el hecho de que en la clase de Entidad ORM de Sala los nombres del establecedor y el que obtiene el campo privado no coincidían con la convención de nomenclatura del frijol java.


En mi caso, fue el problema con la versión Dagger 2. 2.17 y superior (la última versión a partir de hoy es 2.20) no funcionó. Cambiar de nuevo a 2.16 resolvió el problema para mí.

Ver más discusión sobre esto here


En mi caso, sucedió porque cambié List a ArrayList ; Problema resuelto cuando se cambia de nuevo a la List ;

@Query("SELECT * FROM " + PurchaseConstants.TABLE_NAME + " ORDER BY purchaseTime DESC") List<Purchase> getAllPurchases();


Hay muchas razones para este problema. Puedes probar este comando. trabajó:)

gradlew build


Lo haría agregando android.databinding.enableV2 = true en las propiedades de Gradle. Estaba funcionando bien.


Si está utilizando el ORM de sala , revíselos si ha cambiado recientemente. Cualquier problema en el análisis de consultas SQL y también el tipo de retorno de su método que debe coincidir completamente con el resultado de la consulta puede afectar el enlace de datos y mostrar errores anormales.

Tuve un problema similar:

@Query("SELECT * from NotSellingReason where NotSellReasonId > 0") List<ReasonModel> getUnvisitingReasons();

Tenía un tipo genérico equivocado aquí. Debo usar ReasonEntity lugar de ReasonModel y me lleva mucho tiempo conseguirlo.

Otro problema que puede fallar en el enlace de datos es sobre Dagger DI . Si está utilizando DI en su proyecto, asegúrese de que todas las clases inyectadas, ... estén provistas o limitadas por la daga.


Si está utilizando la sala ORM, revise su clazz DAO

Ejemplo:

Actualización de la cadena @Update (llamada de llamada); // fail

@Update long update(Call call);//fail @Update int update(Call call);//success databinding build @Update void update(Call call);//success databinding build


Tuve el mismo problema, y ​​fue porque tenía una referencia a una variable de una clase desconocida

<variable name="handler" type="com.example.org.UnknownClass" />

Solo tuve que corregir este error.


Yo tuve el mismo problema. En mi caso, estaba usando Room y no escribí el método de establecimiento en la clase Entity . Así que también verificas en tu caso.


en mi caso, el problema se debió a un modificador privado para el método onclick asignado con butterknife, asegúrese de que todos los campos y métodos asignados con butterknife sean públicos


para mí reemplazar kapt para anotarProcessor trabajado

annotationProcessor "com.android.databinding:compiler:3.1.3"