RecyclerView被隐藏在Android的动态视图下

时间:2019-03-11 07:11:52

标签: android android-layout android-recyclerview

我在xml中有一个 def display_balances(request): trans = Transaction.objects.all().select_related('item_number') return render(request, '123/details.html', {'balances': trans}) ,在该活动的底部有一个RecyclerView。此活动作为一个聊天窗口,其中一个问题作为聊天消息出现,并且用户在视图中获得一些随机的多项选择选项,但是当LinearLayout填充有一个充满数据的页面时,我想将{ {1}}始终位于创建选项的布局上方,但是到目前为止,我所做的工作并未按预期进行,RecyclerView数据始终隐藏在布局下方,并且每次我需要向下滚动以查看内容时写在那里。我用过方法

RecyclerView

这会在RecyclerView中添加项目,并且还会向下滚动,但它会隐藏在布局下,但是我始终将其设置在xml中的布局上方,我认为问题是我正在动态创建一些视图该布局的大小是换行内容,因此 adapter.notifyItemInserted(array.size()); recyclerView.scrollToPosition(array.size()); 不会不时更新,其布局高度位于底部。这是该活动的xml代码

RecyclerView

RecyclerView始终位于<?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> 的{​​{1}}上方,但是我从Java填充该布局,其高度会随时变化,但是RecyclerView高度没有相应改变,请帮忙!

1 个答案:

答案 0 :(得分:0)

最后我自己解决了这个问题,这是一个有趣的错误,布局还可以,但是我的recylerview并没有滚动,我必须更改此设置:

上一个:

    adapter.notifyItemInserted(array.size());
    recyclerView.scrollToPosition(array.size());

稍后:

adapter.notifyItemInserted(array.size()-1);
recyclerView.scrollToPosition(array.size()-1);