Как динамически показать / скрыть кнопки настраиваемого диалога в настройках?
Я создал собственный диалог, который используется на экране настроек. Все работает отлично, кроме одного: я хочу переключить видимость кнопки "Отмена" в зависимости от состояния внутренней проверки.
Обычно у вас есть onPrepareDialog и onCreateDialog, и вы можете сделать это в onCreateDialog. Но здесь у нас есть OnPrepareDialogBuilder... так где же OnCreateDialogBuilder? Где я могу сделать что-то вроде
builder.setNegativeButton(null, null);
после onPrepareDialogBuilder? Я не могу сделать это в onPrepareDialogBuilder, так как мне нужна кнопка "Отмена" в случае сбоя внутренней проверки.
Можете ли вы помочь мне в правильном направлении?
public UnlockPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.dialog_enter_registration);
}
@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
super.onPrepareDialogBuilder(builder);
builder.setTitle(R.string.label_enter_registration);
}
// would need something like
@Override
protected void onCreateDialogBuilder(AlertDialog.Builder builder) {
super.onCreateDialogBuilder(builder);
if (internalCheckOk())
builder.setNegativeButton(null, null);
else
builder.setNegativeButton(..., ...);
}
1 ответ
Ты можешь использовать
setNegativeButtonText("")
setPositiveButtonText("")
это будет автоматически скрывать кнопки