如题,我有一个类似于微信的聊天页面,用一个recyclerview展示聊天记录;
recyclerview的item有两种类型,一种是textview,用于展示文字信息,一种是imageview,用于根据url加载远程图片;
进入页面时,进行以下处理:
1、初始化recyclerview
2、将data交给recycleview
3、让recyclerview滚动到底部:
recyclerview.smoothScrollToPosition(recyclerview.getBottom());
当data的内容都是文字的时候,一切正常;
当需要加载远程图片时,就会出现问题:由于图片的加载是异步的,且图片大小不一,而列表滚动的动作是在图片加载完毕之前,这样列表就无法正确地滚动到底部了。
所以请教下各位,这种情况应该怎么处理比较好?
画像サイズの違いが原因であると考えられますが、画像読み込み時のデフォルト画像と、画像読み込み時の画像を設定することをお勧めします。 .9 形式で非同期に読み込まれた画像の読み込みに失敗するアプリケーションは、画像の表示と画像のサイズを適切に制御できるため、問題は解決されるはずです
recyclerview.getBottom() は使用しないでください。
以下は View.getBottom のコメントです。これはピクセルを返します。
smoothScrollToPosition には位置が必要です。adapter.getItemCount を試してください。
/**
親に対するこのビューの下端の位置。
*
@return このビューの下部 (ピクセル単位)。
*/