简体   繁体   English

来自适配器的开放片段 model class

[英]open fragment from adapter model class

I am creating app where I implemented a BottomSheetDialogFragment to be open from inside of other fragment this work fines.我正在创建应用程序,我在其中实现了一个 BottomSheetDialogFragment 以从其他片段内部打开,这项工作很好。

But now I want that same BottomSheetDialogFragment to be open from my adapter class which extend FirebaseRecyclerAdapter but not getting the way how to open from there.但是现在我希望从我的适配器 class 打开相同的 BottomSheetDialogFragment,它扩展了 FirebaseRecyclerAdapter 但不知道如何从那里打开。

Here is my adapter class code:这是我的适配器 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);

        }
    }
}

How to solve this issue?如何解决这个问题?

Hi RIZWAN ALI Please Use this code嗨 RIZWAN ALI 请使用此代码

val updateRoomFragment = CreateEventBottomsheet()
            updateRoomFragment.show(
                (viewHolder.itemView.context as AppCompatActivity).supportFragmentManager,
                updateRoomFragment.getTag()
            )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM