我在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
高度没有相应改变,请帮忙!
答案 0 :(得分:0)
最后我自己解决了这个问题,这是一个有趣的错误,布局还可以,但是我的recylerview并没有滚动,我必须更改此设置:
上一个:
adapter.notifyItemInserted(array.size());
recyclerView.scrollToPosition(array.size());
稍后:
adapter.notifyItemInserted(array.size()-1);
recyclerView.scrollToPosition(array.size()-1);