[英]open fragment from adapter model class
我正在创建应用程序,我在其中实现了一个 BottomSheetDialogFragment 以从其他片段内部打开,这项工作很好。
但是现在我希望从我的适配器 class 打开相同的 BottomSheetDialogFragment,它扩展了 FirebaseRecyclerAdapter 但不知道如何从那里打开。
这是我的适配器 class 代码:
public class updateRoomAdapter extends FirebaseRecyclerAdapter<model,updateRoomAdapter.myViewHolder> {
public updateRoomAdapter(@NonNull FirebaseRecyclerOptions<model> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull myViewHolder holder,final int position, @NonNull model model) {
holder.id.setText("Room Id:"+model.getRoomId());
holder.description.setText("Description: "+model.getDescription());
holder.ac.setText("AC: "+model.getAC());
holder.rent.setText("Rent: "+model.getRent());
holder.nob.setText("No.of Beds: "+model.getNumber_of_beds());
Glide.with(holder.img.getContext()).load(model.getImageUrl()).into(holder.img);
holder.edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UpdateRoomFragment updateRoomFragment=new UpdateRoomFragment();
updateRoomFragment.show(getSupportFragmentManager(),updateRoomFragment.getTag());//this line showing error because getSupportFragmentManager() cannot be use here
}
});
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.updatesinglerow,parent,false);
return new updateRoomAdapter.myViewHolder(view);
}
class myViewHolder extends RecyclerView.ViewHolder {
CircleImageView img;
ImageView edit;
TextView id,description,rent,ac,nob;
public myViewHolder(@NonNull View itemView) {
super(itemView);
img=(CircleImageView) itemView.findViewById(R.id.img1);
id=(TextView) itemView.findViewById(R.id.nametext);
description=(TextView) itemView.findViewById(R.id.coursetext);
rent=(TextView) itemView.findViewById(R.id.rent);
ac=(TextView) itemView.findViewById(R.id.ac);
nob=(TextView) itemView.findViewById(R.id.bed);
edit=(ImageView)itemView.findViewById(R.id.imageView2);
}
}
}
如何解决这个问题?
嗨 RIZWAN ALI 请使用此代码
val updateRoomFragment = CreateEventBottomsheet()
updateRoomFragment.show(
(viewHolder.itemView.context as AppCompatActivity).supportFragmentManager,
updateRoomFragment.getTag()
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.