Android data binding guide обсуждает значения привязки в рамках действия или фрагмента, но есть ли способ выполнить привязку данных к пользовательскому представлению?привязка данных к андроиду с настраиваемым представлением
Я хотел бы сделать что-то вроде:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.mypath.MyCustomView
android:id="@+id/my_view"
android:layout_width="match_parent"
android:layout_height="40dp"/>
</LinearLayout>
с my_custom_view.xml
:
<layout>
<data>
<variable
name="myViewModel"
type="com.mypath.MyViewModelObject" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{myViewModel.myText}" />
</LinearLayout>
</layout>
Хотя представляется возможным сделать это путем установки пользовательских атрибутов пользовательского вида, это быстро станет неразборчивым если есть много значений для привязки.
Есть ли хороший способ добиться того, что я пытаюсь сделать?
Пробовали ли вы связывание данных в классе MyCustomView после раздувания вида логотего? –
Я пробовал несколько вещей, чтобы выполнить это, но функции привязки, похоже, требуют информации, содержащейся в действии или фрагменте. В их примерах не приводится образец того, как это сделать в пользовательском представлении. Краткий фрагмент кода о том, как это сделать, будет очень оценен. – Dave
FYI: Я думаю, что файлы макета xml называются с обозначением подчеркивания по соглашению. –