Я создал настраиваемое диалоговое окно и хочу отобразить его фрагмент, щелкнув по элементу recyclerview.И мой код диалога создан в адаптере
Вот мой код в адаптере, который я создал для отображения диалога
@Override
public void onBindViewHolder(final RecyclerViewHolder viewHolder, final int i) {
foodListDetail ft = foodList.get(i);
viewHolder.tvFood.setText(ft.getFood());
viewHolder.tvCost.setText(String.valueOf(ft.getCost())+" บาท");
viewHolder.tvunit.setText(ft.getUnit());
Picasso.get()
.load(ft.getUrl())
.placeholder(R.drawable.ic_android_black_24dp)
.error(R.drawable.ic_error_black_24dp)
.into(viewHolder.img);
viewHolder.cd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog myDialog = new Dialog(ctx);
myDialog.setContentView(R.layout.popup1);
ImageView img = myDialog.findViewById(R.id.imageView);
final TextView tvName = (TextView)myDialog.findViewById(R.id.foodName);
final TextView tvCost = (TextView)myDialog.findViewById(R.id.cost);
TextView tvClose = (TextView)myDialog.findViewById(R.id.tvClose);
TextView tvNum = (TextView)myDialog.findViewById(R.id.num);
ImageView up = myDialog.findViewById(R.id.up);
ImageView down = myDialog.findViewById(R.id.down);
myDialog.show();
}
});
}
Вот контекст и FragmentManager, которые я получил из фрагмента
public adt_restaurant(Context ctx, ArrayList<foodListDetail> details,FragmentManager fmGetmanager){
this.ctx=ctx;
this.foodList = details;
this.fm=fmGetmanager;
}
Вот фрагмент фрагмента RecyclerView rv = v.findViewById (R.id.rv);rv.setHasFixedSize (true);
RecyclerView.LayoutManager lm = new LinearLayoutManager(ctx);
rv.setLayoutManager(lm);
RecyclerViewMargin decoration = new RecyclerViewMargin(5, 1);
rv.addItemDecoration(decoration);
adt_restaurant adt = new adt_restaurant(getContext(),details,getFragmentManager());
rv.setAdapter(adt);
Проблема в том, что мое диалоговое окно не отображается, и при нажатии на элемент не получено никакой ошибки при нажатии на элемент, мой экран становится серым, как диалоговое окно, но отображаетсяне появился