在 recyclerview 中使用自定义对话框

Using Custom Diaglogs in a recycler view

我正在尝试使用它,所以当用户点击 post 时,会弹出一个自定义对话框,询问用户是否确定要前进到下一个屏幕

我正在关注 CodingInFlows 有关如何实现此功能的视频

我正在处理的问题是在我的回收器适配器中我无法使用 getSupportFragmentManager(视频中的 8:24)我认为问题是根据这个 post 我没有扩展片段管理器,但我不知道我是怎么做到的,因为它是一个回收器适配器

适配器

        @Override
    public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {

...

        holder.parentLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                openDialog();


//old code to open acitity
                int pos = holder.getAdapterPosition();
                Intent intent = new Intent(mContext, Confirmation_Activity.class);
                intent.putExtra("Message_ID", blog_list.get(pos).getMessage_doc());
                mContext.startActivity(intent);

            }
        });

    }

    public void openDialog(){
        Confirmation_Dialog confirmation_dialog = new Confirmation_Dialog();
        confirmation_dialog.show();
    }

对话框

    public class Confirmation_Dialog extends AppCompatDialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.layout_dialog, null);

        builder.setView(view)
                .setTitle("Are You Sure")
                .setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
        return builder.create();

    }
}

我应该如何解决这个问题任何反馈都很好!

我使用

解决了这个问题
fragmentManager manager = ((AppCompatActivity)mContext).getSupportFragmentManager();

并将其传递为

confirmation_dialog.show(manager, "example dialog");

希望对您有所帮助!