簡體   English   中英

如何在 Android 中自動向上滾動回收站視圖?

[英]How to auto scroll up Recycler view in Android?

我開發了一些聊天應用程序,我可以在其中發送和接收消息。 但問題是每當我發送或接收消息時,回收站視圖都不會滾動到頂部,因此消息會顯示在鍵盤上方。

我使用了上面提到的回收器視圖android.support.v7.widget.RecyclerView

在更新recyclerview時嘗試運行此代碼:

recyclerView.post(new Runnable() {
    @Override
    public void run() {
        // Call smooth scroll  
        recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);                                 
    }
});

我使用以下代碼,以便滾動自動,直到最后一個位置:

recyclerView.smoothScrollToPosition(adapter.getItemCount());

我實現了向列表添加新項目。

嘗試使用波紋管方法自動滾動到您的特定位置。

adapter = new DeliveriesDateRecycleAdapter(getActivity(),sampleDatedate, position);
                recyclerviewDates.setAdapter(adapter);
                adapter.notifyDataSetChanged();
                recyclerviewDates.smoothScrollToPosition(position);

注意 :position - 要顯示的列表的位置。

你試過RecyclerView.srollTo(int x, int y)嗎?

編輯:在發送或接收最后一條消息后直接嘗試RecyclerView.scrollTo(0, 0)

嘗試使用以下方法自動滾動到任何位置....您可以更改“notifyItemChanged”方法的參數。

 public void printer(String message){
    block block=new block();
    block.details=message;

    blocks.add(block);

    blockAdapter.notifyItemChanged(0);
    recyclerView.scrollToPosition(blocks.size()-1);
   // recyclerView.scrollTo(blocks.size()-1,blocks.size());
}

我正在使用帶有線性布局管理器的水平回收器視圖,接受的解決方案對我不起作用

但以下解決方案有效,

(recycler.layoutManager as? LinearLayoutManager)?.scrollToPositionWithOffset(position, 0)

如果您想在不滾動animation 的情況下將用戶直接帶到最新項目,請使用以下命令:

recyclerView.scrollToPosition(adapter.getItemCount()-1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM