Как задействовать RadioButton в диалоговом окне
При выборе одного из вариантов RadioButton
и нажатии кнопки "Выбрать" выводится ошибка:
Attempt to invoke virtual method 'int android.widget.RadioGroup.getCheckedRadioButtonId()' on a null object reference
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
BottomSheetDialog dialog = new BottomSheetDialog(context);
View view1 = dialog.getLayoutInflater().inflate(R.layout.bottomsheet, null, false);
Button setStatus = view1.findViewById(R.id.setStatus);
Button delete = view1.findViewById(R.id.delete);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new MaterialAlertDialogBuilder(context)
.setTitle("Удалить")
.setNegativeButton("Нет", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).setPositiveButton("Да", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
database.getReference("Text").child(problem.getuId())
.setValue(null);
dialog.dismiss();
}
}).show();
}
});
database = FirebaseDatabase.getInstance().getReference("Text");
setStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(context);
materialAlertDialogBuilder.setMessage("Установить статус");
materialAlertDialogBuilder.setView(R.layout.activity_set_status_problem);
materialAlertDialogBuilder.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
materialAlertDialogBuilder.setPositiveButton("Выбрать", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
RadioGroup radioGroup = view.findViewById(R.id.radioGroup);
int chekId = radioGroup.getCheckedRadioButtonId();
switch (chekId){
case R.id.in_work:
problem.setStatus("aaa");
break;
case R.id.put_out:
problem.setStatus("bbb");
}
}
});
materialAlertDialogBuilder.show();
}
});
dialog.setContentView(view1);
dialog.show();
return true;
}
});
Источник: Stack Overflow на русском