我的回收视图列表中有一个按钮,它是一个片段。我想在单击按钮时弹出一个带有自定义布局的窗口。
因此,我在回收视图适配器中声明了setOnClickListener。单击该按钮后,将调用以下功能:
n
在构建过程中没有任何错误。但是,当我单击手机上的按钮时,会出现一条错误消息,指出
public void showPopup() {
DialogFragment dialogFragment = new bookingpopdialog();
dialogFragment.show(((FragmentActivity)mContext).getSupportFragmentManager(), "OpenPopup");
}
答案 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();
}
});