一次加载android RecyclerView中的所有项目

b4h*_*r4m 4 android android-recyclerview

我太累了,无法在两天内搜索这个问题,但我得到了错误的答案,我实现了 RecyclerView 并且效果很好,但我的 RecycleView 有很多项目,例如照片和视频(例如 Instagram)。这意味着我的适配器将为所有项目调用 onBindViewHolder 以开始下载和加载图像和视频。但 RecycleView 只是在项目可见时(滚动显示它)为每个项目调用 onBindViewHolder 。不可能 ?如果不是的话,Instagram 如何能做到这一点。注意:我不想使用数据库来保存图像和视频

 @Override
public void onBindViewHolder(RecyclerView.ViewHolder h, int position) {

    Log.e("position",position+" ");

    thread t = new Thread(new Runnable(){
       public void run(){
           Bitmap bitmap = downloadPhoto();//it mean photo downloaded and converted to Bitmap
           runOnUiThread(new Runnable(){
               holder.imageView.setImageBitmap(bitmap);
           ));
       }

    });
    t.start();

}
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以尝试嵌入recyclerview内部嵌套滚动视图,并且不要忘记禁用scrollview嵌套recyclerview。这样,所有项目都将立即加载,即使它违反了recyclerview.