Я работаю в приложении для Android и использую DialogFragment для отображения диалогового окна, и я хочу, чтобы этот DialogFragment нельзя было отменить. Я установил для свойства cancelable диалогового окна значение false, но все равно это не влияет.
Пожалуйста, загляните в мой код и предложите решение.
public class DialogTest extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return super.onCreateDialog(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_test, container, true);
getDialog().requestWindowFeature(STYLE_NO_TITLE);
getDialog().setCancelable(false);
return view;
}
}
Ответы:
вместо того
getDialog().setCancelable(false);
, чтобы использовать напрямуюsetCancelable(false);
поэтому обновленный ответ будет таким
источник
Используйте следующий фрагмент
и если вы хотите отключить внешнее касание вокруг диалога, используйте следующую строку кода
источник
Если вы используете построитель предупреждений (и, вероятно, в каждом случае вы обертываете диалог внутри DialogFragment), чтобы помочь построить диалог, пожалуйста, не используйте getDialog (). SetCancelable (false) или Dialog.setCancelable (false), потому что он не будет работай. Используйте setCancelable (false), как показано в приведенном ниже коде, как указано в официальной документации Android:
Добавлено в API уровня 11. Управление возможностью отмены показанного диалогового окна. Используйте это вместо прямого вызова Dialog.setCancelable (boolean), потому что DialogFragment должен изменить свое поведение на основе этого ».
ref: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable(boolean)
источник
Простое решение в DialogFragment
Используемый
источник