【问题标题】:Using Custom Diaglogs in a recycler view在回收站视图中使用自定义对话框
【发布时间】:2019-05-13 23:39:35
【问题描述】:

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

我正在关注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();

    }
}

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

【问题讨论】:

    标签: android android-recyclerview android-dialogfragment


    【解决方案1】:

    我通过使用解决了这个问题

    fragmentManager manager = ((AppCompatActivity)mContext).getSupportFragmentManager();
    

    并将其传递为

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      相关资源
      最近更新 更多