У меня есть фрагмент диалога в обзоре переработчика, который работает нормально. Проблема в том, что я не могу закрыть его после того, как пользователь выбрал одну из опций из фрагмента диалога (во фрагменте диалога есть еще одно представление переработчика, заполняющее его, щелкнув по элементу которого я хочу что-то сделать, и закройте фрагмент диалога). Есть частичные ответы, но ничего не закончено.
Спасибо за обзор Fragment> RecyclerView> Dialog Fragment> RecyclerView с параметрами меню
При нажатии на пункты меню я хочу закрыть фрагмент диалога.
Ниже приведен код адаптера, откуда я вызываю событие щелчка в представлении:
public class ContextMenuAdapter extends RecyclerView.Adapter<ContextMenuAdapter.contextMenuViewHolder> {
ArrayList<ContextMenuModel> contextMenuList;
Context contextMenuContext;
public ContextMenuAdapter(ArrayList<ContextMenuModel> contextMenuList, Context contextMenuContext) {
this.contextMenuList = contextMenuList;
this.contextMenuContext = contextMenuContext;
}
@NonNull
@Override
public contextMenuViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View contextMenuView = LayoutInflater.from(contextMenuContext).inflate(R.layout.sample_context_menu_rv, parent, false);
return new contextMenuViewHolder(contextMenuView);
}
@Override
public void onBindViewHolder(@NonNull final contextMenuViewHolder holder, int position) {
ContextMenuModel accountFeedModelPosition = contextMenuList.get(position);
holder.tvContextMenuOption.setText(accountFeedModelPosition.getMenuOption());
// On Click Listener for the recycler view items.
// 1. On Click menu option
holder.tvContextMenuOption.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(contextMenuContext, "Clicked"+ holder.tvContextMenuOption.getText(), Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return contextMenuList.size();
}
public class contextMenuViewHolder extends RecyclerView.ViewHolder{
TextView tvContextMenuOption;
public contextMenuViewHolder(@NonNull View itemView) {
super(itemView);
tvContextMenuOption = itemView.findViewById(R.id.tvContextMenuOption);
}
}
}