Je travaille dans une application Android et j'utilise un DialogFragment pour afficher une boîte de dialogue et je veux rendre ce DialogFragment non annulable. J'ai rendu la propriété annulable de la boîte de dialogue à false, mais cela n'affecte toujours pas.
Veuillez examiner mon code et me suggérer une solution.
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;
}
}
Réponses:
au lieu de
getDialog().setCancelable(false);
vous devez utiliser directementsetCancelable(false);
donc la réponse mise à jour sera comme ça
la source
Utilisez l'extrait de code suivant
et si vous souhaitez désactiver la boîte de dialogue tactile extérieur, utilisez la ligne de code suivante
la source
Si vous utilisez le générateur d'alertes (et probablement dans tous les cas, vous encapsulez une boîte de dialogue dans un DialogFragment) pour vous aider à construire votre boîte de dialogue, veuillez ne pas utiliser getDialog (). SetCancelable (false) ou Dialog.setCancelable (false) car cela ne va pas travail. Utilisez setCancelable (false) comme indiqué dans le code ci-dessous, comme indiqué dans la documentation officielle d'Android:
Ajouté au niveau de l'API 11 Contrôlez si la boîte de dialogue affichée est annulable. Utilisez ceci au lieu d'appeler directement Dialog.setCancelable (boolean), car DialogFragment doit changer son comportement en fonction de cela. "
réf: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable(boolean)
la source
Solution simple dans DialogFragment
Utilisé
la source