我正在使用recyclerview在聊天窗口中显示消息。然而,当编辑新消息时,recycler视图的焦点应该在最后一个元素上。我希望有一些方法可以将recyclerview的焦点转移到最后一个元素而不是第一个元素上。
rjjhvcjd1#
使用recyclerView.smoothScrollToPosition(position);
recyclerView.smoothScrollToPosition(position);
***position***是插入的最后一项的索引。这将把RecyclerView焦点移动到最后一个元素上。
RecyclerView
vulvrdjw2#
使用可以在LinearLayoutManager对象上添加两行中的任何一行,以将回收视图滚动到底部...
llm.setStackFromEnd(true);
或
llm.setReverseLayout(true);
a1o7rhls3#
用途
recyclerView.smoothScrollToPosition(position) adapter.notifyDataSetChanged();
其中position是最后一个元素的索引
recyclerView.getAdapter().getItemCount()-1
用这个来得到最后一个元素。这对我很有效。
qvsjd97n4#
有2种方法,你可以这样做。1:当您为RecyclerView创建任何LayoutManager时,将其构造函数中的最后一个参数设置为true。
true
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,true);
2:简单地告诉RecyclerView滚动到最后一个位置。
recyclerView.smoothScrollToPosition(lastPosition);
lndjwyie5#
确保此位置是您要查看的项目的位置。
gfttwv5a6#
你可以简单的使用下面的代码,这里**recyclerView.getBottom()**定义了焦点的位置
recyclerView.smoothScrollToPosition(recyclerView.getBottom());
kqhtkvqz7#
使用layoutManager.setStackFromEnd(true);代替这个。
layoutManager.setStackFromEnd(true);
样品
LinearLayoutManager layoutManager = new LinearLayoutManager(this); RecyclerView recyclerView = findViewById(R.id.list); layoutManager.setStackFromEnd(true); recyclerView.setLayoutManager(layoutManager);
rqdpfwrv8#
在Kotlin中使用以下代码
binding.recyclerViewMessage.smoothScrollToPosition(if (list.size > 1) list.size - 1 else list.size);
这是完美的工作
0lvr5msh9#
您可以在回收器视图XML代码中使用app:stackFromEnd=“true”,如下所示:
<android.support.v7.widget.RecyclerView android:id="@+id/message_list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/message_input" android:layout_alignParentTop="true" app:stackFromEnd="true" />
9条答案
按热度按时间rjjhvcjd1#
使用
recyclerView.smoothScrollToPosition(position);
***position***是插入的最后一项的索引。这将把
RecyclerView
焦点移动到最后一个元素上。vulvrdjw2#
使用可以在LinearLayoutManager对象上添加两行中的任何一行,以将回收视图滚动到底部...
或
a1o7rhls3#
用途
其中position是最后一个元素的索引
用这个来得到最后一个元素。
这对我很有效。
qvsjd97n4#
有2种方法,你可以这样做。
1:当您为RecyclerView创建任何LayoutManager时,将其构造函数中的最后一个参数设置为
true
。2:简单地告诉RecyclerView滚动到最后一个位置。
lndjwyie5#
确保此位置是您要查看的项目的位置。
gfttwv5a6#
你可以简单的使用下面的代码,这里**recyclerView.getBottom()**定义了焦点的位置
kqhtkvqz7#
使用
layoutManager.setStackFromEnd(true);
代替这个。样品
rqdpfwrv8#
在Kotlin中使用以下代码
这是完美的工作
0lvr5msh9#
您可以在回收器视图XML代码中使用app:stackFromEnd=“true”,如下所示: