就像在聊天应用程序中,每当我们想发送消息时,软键盘弹出窗口也会自动将最后看到的消息滚动到软键盘的顶部,前提是软键盘后面没有隐藏任何内容。但在我的案例中,键盘隐藏了对话。如何解决这个问题,我已经习惯了显示邮件的回收器视图。我用了android.support.v7.widget.RecyclerView

最佳答案

使用RecyclerView,您可以实现以下目标:

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setReverseLayout(true);
recyclerView.setLayoutManager(linearLayoutManager);

此代码块将告诉recyclerview相对于列表底部滚动,但它也会以相反的顺序显示消息,因此在代码中,如果从数据库获取消息,请从最后一条消息中读取它们,如下所示:
Cursor c = ...;
c.moveToLast();
do{
//your code which gets messages from cursor...
}while(c.moveToPrevoius());

当您想向列表中添加新邮件时,只需按如下方式添加:
//ArrayList messages
messages.add(0, message);

10-08 03:15