【发布时间】:2021-03-28 13:45:37
【问题描述】:
我正在使用 recyclerview 显示成员列表、任务和个人资料图片,但每当我转到另一个片段并快速返回它时,我就会得到
您不能为已破坏的活动启动加载 com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:317)
这是我的适配器代码
public class MembersAdapter extends FirestorePagingAdapter<MembersModel, MembersAdapter.MembersViewHolder> {
public MembersAdapter(FirestorePagingOptions<MembersModel> options) {
super(options);}
@Override
protected void onBindViewHolder(@NonNull MembersViewHolder holder, int position, @NonNull MembersModel membersModel) {
holder.tvmembername.setText(membersModel.getName());
holder.tvtask.setText(membersModel.getTask());
String imgPath = "images/"+membersModel.getUid()+".jpeg";
StorageReference storageRef = FirebaseStorage.getInstance().getReference();
StorageReference imageRef = storageRef.child(imgPath);
Glide.with(holder.VmemBpic.getContext())
.load(imageRef)
.circleCrop()
.format(DecodeFormat.PREFER_RGB_565)
.placeholder(R.drawable.ic_user)
.into(holder.VmemBpic);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppCompatActivity activity = (AppCompatActivity) v.getContext();
activity.getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new UserFragment(membersModel.getName(), membersModel.getTask(), membersModel.getPurl(), membersModel.getDesc(), membersModel.getLinkedinurl(), membersModel.getInstagramurl(), membersModel.getGithuburl(), membersModel.getEmail(), membersModel.getUid()))
.addToBackStack("user").commit();
}
});
}
@Override
protected void onLoadingStateChanged(@NonNull LoadingState state) {
super.onLoadingStateChanged(state);
switch (state){
case LOADED:
break;
case ERROR:
break;
case FINISHED:
break;
case LOADING_MORE:
break;
case LOADING_INITIAL:
break;
}
}
@NonNull
@Override
public MembersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_member, parent, false);
return new MembersViewHolder(view);
}
public class MembersViewHolder extends RecyclerView.ViewHolder{
private TextView tvmembername,tvtask;
private ImageView VmemBpic;
public MembersViewHolder(@NonNull View itemView) {
super(itemView);
tvmembername = itemView.findViewById(R.id.xtvmembername);
tvtask = itemView.findViewById(R.id.xtvtask);
VmemBpic = itemView.findViewById(R.id.xmemBpic);
}
}
}
【问题讨论】:
标签: android android-recyclerview android-glide