Это скорее проблема UX, чем реальная проблема, но было бы неплохо, если бы я мог ее исправить.
Я создаю один выбор AlertDialog
, аналогичный изображению ...
![enter image description here](https://i.stack.imgur.com/5MTSS.png)
Код, который я использую для его создания, ...
private void createGuideViewChooserDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Guide View");
builder.setSingleChoiceItems(guideViewChooserDialogItems, currentGuideView, this);
guideViewChooserDialog = builder.create();
guideViewChooserDialog.show();
}
... поэтому в основном я использую int
, называемый currentGuideView
, чтобы установитькакой переключатель показывается как выбранный, и мой Activity
реализует DialogInterface.OnClickListener
, следовательно, используя this
в вызове setSingleChoiceItems(...)
.
Слушатель onClick(...)
выполняет некоторые простые действия на основе выбранного элементазатем вызывает guideViewChooserDialog.cancel()
.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я касаюсь одного из элементов списка, элемент кратко выделяется, чтобы подтвердить касание, НО AlertDialog
исчезает, не показывая изменения выбранного радио.-button.
Все работает нормально, и мой onClick(...)
слушатель получает информацию о том, к какому предмету прикоснулись, но просто немного смущает, что диалог исчезает, не видя изменения выбора переключателя.
IЯ тестирую это на HTC Desire с Android v2.2.Это запланированное поведение или ошибка либо в v2.2, либо в реализации HTC?Могу ли я (или должен) что-то сделать, чтобы радиокнопка выбранного элемента правильно отображалась как выбранная до исчезновения диалога?