Я проектирую довольно сложную форму на Android и использую include
s в своем фрагменте.В основном у меня есть это:
include_form.xml
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:orientation="vertical"
tools:parentTag="android.widget.LinearLayout">
...
<Spinner
android:id="@+id/desired_time_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:prompt="@string/time_desired_field"
android:spinnerMode="dialog"
tools:listitem="@layout/item_spinner_simple" />
...
</merge>
, который прекрасно отображается при предварительном просмотре Android Studio.Однако при включении этого в другой файл, например:
фрагмент_signup.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
...
<include
layout="@layout/include_form"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
...
</LinearLayout>
Это хорошо отрисовывается на устройстве или на симуляторе, но это не такотображается правильно при предварительном просмотре в Android Studio: он в основном игнорирует атрибут tools:listitem
в Spinner
.
Это работает безупречно для других компонентов, таких как RecyclerView.У кого-нибудь есть идея, или я наткнулся на ошибку?Спасибо!
** Правка 1 **
Попытка добавить tools:listitem="@layout/item_spinner_simple"
к тегу include
, но это не сработало.
** Правка 2 **
Действительно кажется, что это ошибка.Я создал отчет об ошибке: https://issuetracker.google.com/issues/132686264