Я использую новую привязку данных к андроиду, и она отлично работает. Я могу выполнить привязку данных, используя EditText, TextView, Radio и checkbox. Теперь я не могу выполнить привязку данных в spinner.
Найден какой-то ключ в следующей ссылке: привязка данных spinner для Android с помощью XML-макета
Но, все еще не в состоянии найти решение. Также необходимо выполнить двухстороннюю привязку данных. Должно отразить выбранное значение данных счетчика.
Может кто-нибудь, пожалуйста, покажет мне пример?
Вот мой код xml
:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="viewModel"
type="com.ViewModels.model" />
</data>
<Spinner
android:id="@+id/assessmemt_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/carview_margin"
android:layout_toRightOf="@+id/text_bp"
android:drawSelectorOnTop="true"
android:spinnerMode="dropdown"
android:visibility="@{viewModel.type.equals(@string/spinner_type)? View.VISIBLE : View.GONE}" />
</layout>
Просмотр модели:
public class AssessmentGetViewModel {
private String valueWidth;
private ArrayList<String> values;
private String type;
public String getValueWidth() { return this.valueWidth; }
public void setValueWidth(String valueWidth) { this.valueWidth = valueWidth; }
public ArrayList<String> getvalues() { return this.values; }
public void setvalues(ArrayList<String> values) { this.values = values; }
public String gettype() { return this.type; }
public void settype(String type) { this.type = type; }
}