0

Есть два списка: первый с именами, второй с фамилиями

Нужно их вывести на одном Activity с помощью RecyclerView. Как именно это лучше реализовать если сам layout должен выглядеть подобным образом:введите сюда описание изображения

Дизайн и размеры не имеют значения, важна именно сама реализация и нужная разметка.

Как лучше реализовать подобное? Использовать RecyclerView в количестве двух штук (каждый под свой список), или каким-то образом использовать один? К примеру, чтобы после конца первого списка, выводился TextView, а за ним сразу шел второй список? Набросал макет, раскритикуйте, пожалуйста

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal"
    android:id="@+id/linearLayout">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/textView_margin"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.RecyclerView>
</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/linearLayout"
    android:layout_centerHorizontal="true"
    android:gravity="center_horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.RecyclerView>
</LinearLayout>

whalemare
  • 1,000
  • 1
    вам нужно разобраться с назначением метода getItemViewType() в адаптере. – pavlofff Jan 23 '16 at 15:06
  • @pavlofff но ведь тогда будет потеря данных нет? Мне нужно, чтобы 2 эти списка разделялись и отображались все данные. А как я понял, при использовании getItemViewType он вместо, к примеру, 20 позиции (где лежат какие-то данные уже) вставляет новую view, а данные по этой 20 позиции никак не используются. Из решений представляю себе только изначальный сдвиг массива на 1 элемент, чтобы в той позиции в которой нужно, было пусто, но это костыльно вроде бы – whalemare Jan 24 '16 at 03:47
  • @whalemare Вы можете в методе getItemViewType() определять первый элемент каждого блока данных и выводить для него другой вид айтема, такой же как и прочие, но с надписью сверху. Надпись можно как захардкорить и выводить разные айтемы для первого и второго блока с соответствующей надписью, так и определять в onBindViewHolder(), какой блок данных сейчас выводится и биндить соответствующюю надпись (предпочтительный вариант). – pavlofff Jan 24 '16 at 04:38

0 Answers0