在项目更改后获取 recyclerview 当前大小(在项目删除后)(notifyItemRemoved(position))
get recyclerview current size after item change(after item removed)(notifyItemRemoved(position))
我必须在从 recyclerview 中删除项目后获取 recyclerview 的数据集大小
我正在从适配器中删除项目
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String string = uriStringList.get(position);
if (string != null) {
holder.imagePhoto.setImageURI(Uri.parse(string));
}
holder.crossImg.setOnClickListener(view -> {
uriStringList.remove(position);
notifyItemRemoved(position);
});
}
片段中的代码
binding.recyclerViewImg.setLayoutManager(new LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false));
binding.recyclerViewImg.setHasFixedSize(true);
photoListAdapter = new PhotoListAdapter();
binding.recyclerViewImg.setAdapter(photoListAdapter);
photoListAdapter.setUriStringList(uriStringList);
在您的片段中,您可以在适配器上使用 registerAdapterDataObserver
,当项目被移除时,您会收到通知,然后获得新尺寸。
例如:
photoListAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onItemRangeRemoved(int positionStart, int itemCount) {
Log.d(
"MG-onItemRangeRemoved", "count" + photoListAdapter.getItemCount()
);
}
});
我必须在从 recyclerview 中删除项目后获取 recyclerview 的数据集大小
我正在从适配器中删除项目
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String string = uriStringList.get(position);
if (string != null) {
holder.imagePhoto.setImageURI(Uri.parse(string));
}
holder.crossImg.setOnClickListener(view -> {
uriStringList.remove(position);
notifyItemRemoved(position);
});
}
片段中的代码
binding.recyclerViewImg.setLayoutManager(new LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false));
binding.recyclerViewImg.setHasFixedSize(true);
photoListAdapter = new PhotoListAdapter();
binding.recyclerViewImg.setAdapter(photoListAdapter);
photoListAdapter.setUriStringList(uriStringList);
在您的片段中,您可以在适配器上使用 registerAdapterDataObserver
,当项目被移除时,您会收到通知,然后获得新尺寸。
例如:
photoListAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onItemRangeRemoved(int positionStart, int itemCount) {
Log.d(
"MG-onItemRangeRemoved", "count" + photoListAdapter.getItemCount()
);
}
});