Я видел восхитительный пример из приложения GithubBrowserSample
относительно обработки ошибок и загрузки состояния через привязку данных. Существует макет, который может обрабатывать некоторый ресурс
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="com.theahoyapp.customer.model.vo.Resource"/>
<import type="com.theahoyapp.customer.model.vo.Status"/>
<variable
name="resource"
type="Resource"/>
</data>
<LinearLayout
android:orientation="vertical"
app:visibleGone="@{resource.data == null}"
android:layout_width="wrap_content"
android:gravity="center"
android:padding="@dimen/common_padding"
android:layout_height="wrap_content">
<ProgressBar
app:visibleGone="@{resource.status == Status.LOADING}"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progress_bar"
android:layout_margin="8dp"/>
</LinearLayout>
</layout>
Then we can bind some Resource to this layout, and all works fine
<include
layout="@layout/loading_state_simple"
app:resource="@{(Resource) verificationResult}"
style="@style/st_view_progress"
/>
Но что еслиЯ слушаю несколько ресурсов на одном экране.Итак, пока я вижу только один способ - копировать-вставить, дублировать.Я имею в виду, создать несколько тегов включения, для каждого такого ресурса у меня есть
Это немного пахнет, мне не нравится дублирование.Может кто-нибудь предложить, пожалуйста, как избежать дублирования и связать несколько таких ресурсов с одним таким тегом включения?