我正在处理聊天应用程序。现在,在第一次从后端获取消息时,我希望我的线性布局指针移动到列表中的最后一条消息,以便用户始终在打开聊天片段时看到最新消息。 这是我的代码:
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(homeScreenActivity);
linearLayoutManager.setStackFromEnd(true);
linearLayoutManager.setReverseLayout(true);
chatRecycler.setLayoutManager(linearLayoutManager);
提前致谢!
答案 0 :(得分:0)
如果您不知道输入数据的时间,可以在回收站视图上设置addOnLayoutChangeListener
。
并在addOnLayoutChangeListener
chatRecycler.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v,
int left, int top, int right, int bottom,
int oldLeft, int oldTop, int oldRight, int oldBottom) {
if (bottom < oldBottom) {
chatRecycler.postDelayed(new Runnable() {
@Override
public void run() {
recycler_discussion.scrollToPosition(
recycler_discussion.getAdapter().getItemCount() - 1);
}
}, 50);
}
}
});