为了账号安全,请及时绑定邮箱和手机立即绑定

如何滚动到RecyclerView的底部?scrollToPosition不起作用

如何滚动到RecyclerView的底部?scrollToPosition不起作用

神不在的星期二 2019-11-27 10:21:47
加载活动后,我想滚动到RecyclerView列表的底部。GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE);conversationView = (RecyclerView) findViewById(R.id.list_messages);conversationView.setHasFixedSize(true);conversationViewLayoutManager = new LinearLayoutManager(this);conversationView.setLayoutManager(conversationViewLayoutManager);conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this);conversationView.setAdapter(conversationViewAdapter);conversationView.scrollTo(...)引发关于RecyclerView中不受支持的异常,并且conversationView.scrollToPosition(...)似乎没有任何作用。在上面的代码块之后,我添加了conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1)这不起作用。中有30个元素GENERIC_MESSAGE_LIST。
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

只需设置setStackFromEnd=true或setReverseLayout=true使LLM将布局从最终产品。


两者之间的区别在于,setStackFromEnd将视图设置为显示最后一个元素,布局方向将保持不变。(因此,在从左到右的水平Recycler视图中,将显示最后一个元素,向左滚动将显示较早的元素)


而setReverseLayout将更改适配器添加的元素的顺序。布局将从最后一个元素开始,该元素将在LTR回收器视图中最左侧,然后向右滚动将显示较早的元素。


样品:


final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());

linearLayoutManager.setReverseLayout(true);

_listView.setLayoutManager(linearLayoutManager);


查看完整回答
反对 回复 2019-11-27
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

我正在看这篇文章以找到答案,但是...我认为这篇文章中的每个人都面临着与我相同的情况:scrollToPosition()由于明显的原因,它被完全忽略了。


我在用什么?


recyclerView.scrollToPosition(items.size());

...什么工作?


recyclerView.scrollToPosition(items.size() - 1);


查看完整回答
反对 回复 2019-11-27
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

从回收站视图中的任何位置向下滚动到底部


edittext.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                rv.postDelayed(new Runnable() {

                    @Override

                    public void run() {

                      rv.scrollToPosition(rv.getAdapter().getItemCount() - 1);

                    }

                }, 1000);

            }

        });


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 4944 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信