У меня есть код ниже, который отключил AlertDialog при нажатии на поле EditText. Это работает отлично в первый раз, однако, если пользователь закрывает диалоговое окно, а затем снова нажимает на поле, приложение отключается.AlertDialog в onClick падает при втором нажатии
roomnumberPicker = new MaterialNumberPicker.Builder(SearchActivity.this)
.minValue(1)
.maxValue(15)
.defaultValue(1)
.textSize(20)
.enableFocusability(false)
.wrapSelectorWheel(true)
.build();
roomEdit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new AlertDialog.Builder(SearchActivity.this)
.setView(roomnumberPicker)
.setTitle("Pick number of Rooms:")
.setPositiveButton(getString(android.R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
roomEdit.setText(Integer.toString(roomnumberPicker.getValue()));
}
}).show();
}
});
Какие ошибки:
java.lang.IllegalStateException: Указанный ребенок уже имеет родителя. Сначала вы должны вызвать removeView() родителя ребенка.
'roomnumberPicker.getValue()' не работает, как roomnumberPicker доступ из внутреннего класса –
сделать окончательный roomnumberPicker. См. Мое редактирование выше. –