我有主要的RecyclerView,其中包含其他RecyclerViews(我们称之为subRecyclerViews).subRecyclerViews的数量基于从服务器接收的数据.问题是,每当subRecyclerView即将变为可见时,它会立即为其所有项创建ViewHolders(而不是仅为可见项创建ViewHolders).
在我调用的MainRecyclerViewAdapter onBindViewHolder()方法中
subRecyclerViewAdapter.setData(data);
subRecyclerView.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)
这导致延迟,因为subRecyclerView为其所有项调用onCreateViewHolder()和onBindViewHolder()方法.
我使用的RecyclerView版本是
com.android.support:recyclerview-v7:25.1.1
Run Code Online (Sandbox Code Playgroud)
问题是,有没有办法告诉subRecyclerView它不需要为尚未可见的项创建ViewHolders?此外,这是RecyclerView中的错误还是我做错了什么?
我已经从片段中检索了位图,并且我将位图(解码的字节数组)放置在 Imageview 中,我想裁剪此位图
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fr_editcrop, container, false);
cropphoto = (ImageView)view.findViewById(R.id.cropphoto);
title = (TextView)view.findViewById(R.id.title);
title.setText("Crop");
crop = (Button)view.findViewById(R.id.crop);
cancel = (Button)view.findViewById(R.id.cancel);
tmp = getArguments().getString("PHOTO");
byte [] encodeByte=Base64.decode(tmp,Base64.DEFAULT);
bmp=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
cropphoto.setImageBitmap(bmp);
Width = cropphoto.getWidth();
Height = cropphoto.getHeight();
Run Code Online (Sandbox Code Playgroud)