У меня много CardViews, и я хочу показывать пользовательский диалог при каждом щелчке cardView. Я создал класс MyDialog, расширяющий DialogFragmnent. Я хочу передать файл макета в RecyclerView с помощью одного из методов моего класса «MyDialog» getData (int resource) но когда я звоню, он показывает ошибку и приложение зависло.
Это мой класс диалога:
public class MyDialog extends DialogFragment {
int resource;
public void getData(int resource)
{
this.resource=resource;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
LayoutInflater inflater=getActivity().getLayoutInflater();
builder.setView(inflater.inflate(resource,null));
return builder.create();
}
}
Это мой метод onBindViewHolder
@Override
public void onBindViewHolder( MyViewHolder holder, final int position) {
Model model=albums.get(position);
holder.category_name.setText(model.getCategory());
holder.items_count.setText(model.getItems());
holder.thumbnail.setImageResource(model.getThumbnail());
Glide.with(context).load(model.getThumbnail());
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n=albums.get(position).getCategory();
myDialog=new MyDialog();
if (n.equals("Burger"))
{
myDialog.getData(R.layout.custom_dialog_layout);
fm=((AppCompatActivity)context).getSupportFragmentManager();
myDialog.show(fm,"my_dialog");
}
if (n.equals("Burger"))
{
myDialog.getData(R.layout.chawomin);
fm=((AppCompatActivity)context).getSupportFragmentManager();
myDialog.show(fm,"my_dialog");
}
}
});
}