单击片段中的回收视图中的按钮时显示自定义对话框片段

时间:2019-05-08 03:20:41

标签: java android android-fragments android-recyclerview

我的回收视图列表中有一个按钮,它是一个片段。我想在单击按钮时弹出一个带有自定义布局的窗口。

因此,我在回收视图适配器中声明了setOnClickListener。单击该按钮后,将调用以下功能:

n

在构建过程中没有任何错误。但是,当我单击手机上的按钮时,会出现一条错误消息,指出

    public void showPopup() {

    DialogFragment dialogFragment = new bookingpopdialog();

    dialogFragment.show(((FragmentActivity)mContext).getSupportFragmentManager(), "OpenPopup");


}

1 个答案:

答案 0 :(得分:0)

您可以将适配器类放在onCreate方法之前的下一个声明

protected View.OnClickListener onClickListener;

然后在方法的适配器类中,放置setOnItemClickListener方法

public void setOnItemClickListener(View.OnClickListener onClickListener) {
    this.onClickListener = onClickListener;
}

在主类中或您有适配器可填充recyclerView的任何地方,获取适配器的变量并按以下步骤操作

// DispositivosAdapter its my adapter variable
    DispositivosAdapter.setOnItemClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // devicesList is an Arraylist
            // recyclerView its the name of my recycler in my xml document
            // .getName() its a method from my class Devices
            String device = devicesList.get(recyclerView.getChildAdapterPosition(v)).getName();

            Snackbar.make(v, "Hi I'm " + device, Snackbar.LENGTH_LONG)
                    .show();
        }
    });