android - 关于recyclerview异步加载图片时不能正确滚动到底部的问题
PHPz
PHPz 2017-04-17 15:03:37
0
2
1094

如题,我有一个类似于微信的聊天页面,用一个recyclerview展示聊天记录;
recyclerview的item有两种类型,一种是textview,用于展示文字信息,一种是imageview,用于根据url加载远程图片;

进入页面时,进行以下处理:

1、初始化recyclerview
2、将data交给recycleview
3、让recyclerview滚动到底部:

recyclerview.smoothScrollToPosition(recyclerview.getBottom());

当data的内容都是文字的时候,一切正常;
当需要加载远程图片时,就会出现问题:由于图片的加载是异步的,且图片大小不一,而列表滚动的动作是在图片加载完毕之前,这样列表就无法正确地滚动到底部了。
所以请教下各位,这种情况应该怎么处理比较好?

PHPz
PHPz

学习是最好的投资!

全員に返信(2)
阿神

画像サイズの違いが原因であると考えられますが、画像読み込み時のデフォルト画像と、画像読み込み時の画像を設定することをお勧めします。 .9 形式で非同期に読み込まれた画像の読み込みに失敗するアプリケーションは、画像の表示と画像のサイズを適切に制御できるため、問題は解決されるはずです

いいねを押す +0
迷茫

recyclerview.getBottom() は使用しないでください。
以下は View.getBottom のコメントです。これはピクセルを返します。
smoothScrollToPosition には位置が必要です。adapter.getItemCount を試してください。

/**

  • 親に対するこのビューの下端の位置。
    *

  • @return このビューの下部 (ピクセル単位)。
    */

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート