У меня есть RecyclerView
в xml и LinearLayout
в нижней части этого действия. Это действие работает как окно чата, где вопрос отображается в виде сообщения чата, и пользователь получает несколько случайных вариантов множественного выбора в представлении, но когда RecyclerView
заполняется страницей, полной данных, я хочу сделать это RecyclerView
всегда выше макета, где создаются опции, но то, что я до сих пор делал, не работает должным образом, данные RecyclerView
всегда скрываются под макетом, и каждый раз, когда мне нужно прокрутить вниз, чтобы увидеть, что там написано. Я использовал метод
adapter.notifyItemInserted(array.size());
recyclerView.scrollToPosition(array.size());
Это добавляет элемент в RecyclerView
, а также прокручивает вниз, но скрывается под макетом, но я всегда устанавливал его над макетом в XML, я думаю, проблема в том, что я динамически создаю некоторые представления в этом макете. какой размер является содержимым переноса, поэтому RecyclerView
не обновляется время от времени с высотой макета внизу. Вот код xml этой Деятельности
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ChatBotActivity">
<include
android:id="@+id/header"
layout="@layout/header"></include>
<android.support.v7.widget.RecyclerView
android:id="@+id/rcv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll"
android:layout_below="@+id/header" />
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"></LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:visibility="invisible"
android:weightSum="7">
<EditText
android:id="@+id/etMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:hint="Type a message"
android:paddingLeft="@dimen/ten_dp"
android:textColorHint="@color/fade" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:layout_marginRight="@dimen/five_dp"
android:layout_weight="2"
android:background="@android:color/transparent"
android:onClick="sendClick"
android:src="@drawable/ic_send_black_24dp"
android:text="send" />
</LinearLayout>
</RelativeLayout>
RecyclerView
всегда выше LinearLayout
с идентификатором ll
, но я заполняю этот макет из Java, и его высота время от времени меняется, но высота RecyclerView
не изменяется соответственно, пожалуйста помощь!