在回收站视图中使用自定义诊断日志

时间:2019-05-13 23:39:36

标签: android android-recyclerview android-dialogfragment

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

我正在观看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();

    }
}

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

1 个答案:

答案 0 :(得分:0)

我通过使用

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

并将其作为

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

希望这会有所帮助!