Ich arbeite in einer Android-Anwendung und verwende ein DialogFragment, um ein Dialogfeld anzuzeigen. Ich möchte, dass dieses DialogFragment nicht stornierbar ist. Ich habe die Eigenschaft zum Abbrechen des Dialogfelds auf false gesetzt, aber sie wirkt sich immer noch nicht aus.
Bitte schauen Sie in meinen Code und schlagen Sie mir eine Lösung vor.
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;
}
}
Antworten:
stattdessen
getDialog().setCancelable(false);
musst du direkt verwendensetCancelable(false);
Die aktualisierte Antwort wird also so aussehen
quelle
Verwenden Sie das folgende Snippet
Wenn Sie den Dialog zum Berühren von außen deaktivieren möchten, verwenden Sie die folgende Codezeile
quelle
Wenn Sie den Alert Builder verwenden (und wahrscheinlich in jedem Fall den Dialog in ein DialogFragment einschließen), um Ihren Dialog zu erstellen, verwenden Sie bitte nicht getDialog (). SetCancelable (false) oder Dialog.setCancelable (false), da dies nicht der Fall ist Arbeit. Verwenden Sie setCancelable (false) wie im folgenden Code gezeigt, wie in der offiziellen Android-Dokumentation erwähnt:
Hinzugefügt in API Level 11 Steuern Sie, ob der angezeigte Dialog abgebrochen werden kann. Verwenden Sie dies, anstatt Dialog.setCancelable (boolean) direkt aufzurufen, da DialogFragment sein Verhalten basierend darauf ändern muss. "
ref: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable(boolean)
quelle
Einfache Lösung in DialogFragment
Gebraucht
quelle