Как связать несколько объектов ресурсов с одним компонентом пользовательского интерфейса прогресса / ошибки - PullRequest
0 голосов
/ 13 июня 2019

Я видел восхитительный пример из приложения 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"
            />

Но что еслиЯ слушаю несколько ресурсов на одном экране.Итак, пока я вижу только один способ - копировать-вставить, дублировать.Я имею в виду, создать несколько тегов включения, для каждого такого ресурса у меня есть

Это немного пахнет, мне не нравится дублирование.Может кто-нибудь предложить, пожалуйста, как избежать дублирования и связать несколько таких ресурсов с одним таким тегом включения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...