Estoy trabajando en una aplicación de Android y estoy usando un DialogFragment para mostrar un diálogo y quiero hacer que DialogFragment no se pueda cancelar. Hice que la propiedad cancelable del cuadro de diálogo sea falsa, pero aún así no afecta.
Por favor, mire mi código y sugiera una solución.
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;
}
}
Respuestas:
en lugar de
getDialog().setCancelable(false);
tener que usar directamentesetCancelable(false);
entonces la respuesta actualizada será así
fuente
Utilice el siguiente fragmento
y si desea deshabilitar el cuadro de diálogo de toque exterior, use la siguiente línea de código
fuente
En caso de que use el generador de alertas (y probablemente en todos los casos envuelva el diálogo dentro de un DialogFragment) para ayudar a construir su diálogo, no use getDialog (). SetCancelable (false) o Dialog.setCancelable (false) porque no va a trabajo. Use setCancelable (falso) como se muestra en el código a continuación, como se menciona en la documentación oficial de Android:
Agregado en API nivel 11 Controle si el cuadro de diálogo mostrado es cancelable. Use esto en lugar de llamar directamente a Dialog.setCancelable (boolean), porque DialogFragment necesita cambiar su comportamiento basándose en esto ".
ref: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable(boolean)
fuente
Solución simple en DialogFragment
Usado
fuente