我试图在单击recyclerview元素中的某些文本视图时打开对话框窗口。
如果我不尝试初始化文本视图,则打开窗口的效果非常好。 如果我这样做,则该应用程序崩溃。
在我的guestMessage setOnClickListener中,我打开一个对话框。 在onClick中,我初始化应包含文本(名称和消息)的TextView。
@Override
public void onBindViewHolder(@NonNull final GuestViewHolder holder, final int position) {
final Guest guest = guests.get(position);
holder.guestName.setText(guests.get(position).getGuestName());
//holder.guestMessage.setText(guests.get(position).getGuestMessage());
holder.guestPhoneNumber.setText(guests.get(position).getGuestPhoneNumber());
holder.personsCount.setText(guests.get(position).getPersonsCount());
holder.guestMessage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Dialog messageDialog = new Dialog(context);
TextView name = messageDialog.findViewById(R.id.messageTitlePopUp);
TextView message = messageDialog.findViewById(R.id.messageInPopup);
messageDialog.setContentView(R.layout.message_dialog_popup);
name.setText(guests.get(position).getGuestName());
message.setText(guests.get(position).getGuestMessage());
messageDialog.show();
}
});
}
答案 0 :(得分:0)
您正在初始化视图,然后在对话框上设置内容视图,这会导致问题。
要解决问题,只需更改对话框代码的初始化顺序。
final Dialog messageDialog = new Dialog(context);
messageDialog.setContentView(R.layout.message_dialog_popup);
TextView name = messageDialog.findViewById(R.id.messageTitlePopUp);
TextView message = messageDialog.findViewById(R.id.messageInPopup);