小编jar*_*g 1的帖子

直接跳转到android recyclelerview中的最后一个位置,而不是滚动到最后一个位置

我有一个Android异构的RecyclerView,我将ImageView和TextView混合在一起.我可以在最后一个位置添加图像或文本.如果用户已经在RecyclerView的最后一项中,则这不是问题,因为新文本或图像只是附加并显示为新的最后一项,用户可以立即查看.

但是麻烦就是:说我在RecyclerView中有100张图像,用户正在查看第一张图片(在RecyclerView的顶部).假设用户添加了新图像或文本(作为最后一项附加).现在为了向用户显示这个项目,我调用"smoothScrollToPosition",如下面的代码所示:

int position = myModel.getMyGenericModels().size() - 1;
myAdapter.notifyItemInserted(position);
//Smooth scroll the recyclerview to the last message
myRecyclerView.smoothScrollToPosition(position);
Run Code Online (Sandbox Code Playgroud)

smoothScrollToPosition确实有效,但这个逻辑的问题是:鉴于用户正在查看第一张图像,为了显示添加的最新图像,RecyclerView会滚动浏览所有100张图像,直到它到达最后一张图像.这是非常尴尬的,因为它需要几秒钟,你可以从字面上看到这些图像向上滚动屏幕,直到它到达最后一个图像.

我的问题是,我如何直接从用户正在查看的第一张图片跳转,向用户显示添加的最后一张图片?

要明确我正在寻找的行为类似于Android WhatsApp客户端展示的行为.假设您在聊天屏幕上,并且您在顶部消息,但现在添加新图像或消息,您可以看到它神奇地跳到屏幕底部显示添加的最后一条消息.没有任何明显的尴尬滚动所有消息 - 所以这似乎可能,但我不知道如何.我想知道这是怎么做的.

android android-recyclerview

1
推荐指数
1
解决办法
2582
查看次数

标签 统计

android ×1

android-recyclerview ×1