No se puede encontrar el GETTER para el atributo 'app: vm' con el tipo de valor Boolean
Estoy tratando de usar nativa de 2 vías de enlace de datos de Android en mi control personalizado
Así que tengo algo así en xml
- Spinner enlace de datos de 2 vías
- ¿Algún problema o problema significativo con la Biblioteca de Databinding de Android?
- Android Data Binding: no puede encontrar el setter para el atributo
- Data Binding Android - El parámetro de tipo T tiene límites superiores incompatibles: ViewDataBinding y MainActivity
- Android databinding - Cómo obtener dimensiones desde dimens.xml
<layout> <data> <variable name="item" type="Boolean"/> </data> ... <my.control app:vm="@={item}"/> ... </layout>
Tenga en cuenta que es cuestión de @={}
– enlace nativo de 2 vías.
Y algo así en el código:
class MyControl extends RelativeLayout{ ... @BindingAdapter("app:vm") public static void setVm(View v, VM vm){...} }
Mis preguntas – ¿cómo debo definir getter para mi viewModel? No encuentro ninguna orientación al respecto. He intentado diferentes enfoques – escribir getter personalizado, getters estática, pero el error sigue siendo el mismo.
- La vinculación de datos de Android hace que la aplicación se bloquee cuando se utiliza una etiqueta de inclusión en un grupo de usuarios no root
- Vinculación de Datos de Android Fallback / Valor predeterminado
- No se puede resolver la clase de enlace de datos de Android
- Cómo crear vinculación de datos personalizados en android? (Estudio del androide)
- Edittext cursor restablecer a la izquierda después de la actualización de datos de datos de Android
- Cómo vincular un layout_width y layout_height mediante el enlace de datos en Android
- La vinculación de datos de Android pasa los argumentos al método onClick
- Conexión de datos de Android con menús
Tomado de aquí , bajo "Rolling Your Own":
Necesitará un poco más de código extra para obtener el enlace de datos bidireccional trabajando con clases personalizadas. Lo más importante, necesitará definir un @InverseBindingMethod
:
@InverseBindingMethods({ @InverseBindingMethod(type = MyControl.class, attribute = "vm"), })
En este caso, el nombre del getter coincide con el nombre del atributo "getVm" para "app: vm." (Cambiado a su ejemplo)
Por favor, visite el blog vinculado, que tiene más información sobre ese tema, incluyendo la vinculación de un atributo cambiado de evento.
- Cómo minimizar el tamaño de la caché de la aplicación de Android
- Cómo leer el archivo json de la carpeta de activos cuando se prueba por Espresso?