@BindingAdapter({"bind:enumElements", "bind:selected"})
public static <T> void spinnerEnumBinnder(Spinner view, Enum<?>[] enumClass, T selected) {
if (view.getAdapter() == null) {
loadEnums(view, enumClass);
}
.....
}
And than it is needed to add in layout XML:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bind="http://schemas.android.com/apk/res-auto">
<data>
<variable name="linkName" type="org.example.ModelObject" />
</data>
<LinearLayout android:orientation="vertical" tools:context="org.example.ParamFragment">
<Spinner
android:id="@+id/objectType"
bind:selected="@{linkName.type}"
bind:enumElements="@{linkName.deviceTypes}"
android:layout_gravity="center_horizontal|top"
android:spinnerMode="dropdown" />
</LinearLayout>
</layout>