Die Fensterfunktion muss vor dem Hinzufügen von Inhalt angefordert werden, während das Dialogfeld in Fragment implementiert wird

8

Ich habe ein Fragment, in dem ich einen benutzerdefinierten Dialog zeigen muss.

Bitte überprüfen Sie meinen Code unten.

%Vor%

Beim Entfernen der Linie:

%Vor%

Es gibt keinen Fehler, aber wenn ich denselben benutze, wird der folgende Fehler ausgelöst:

%Vor%     
rpn 20.10.2015, 14:46
quelle

7 Antworten

1
___ answer35695578 ​​___

Ich habe viele Alternativen für Ihre Situation implementiert und ausprobiert. Es funktioniert wirklich gut, so dass ich keine Chance hatte, Ihren Fehler zu überprüfen. Aber was ich vorschlagen kann, ist AppCompatDialog durch AlertDialog.Builder zu ersetzen, was eine Klasse von android.support.v7.app ist.

Ersetzen Sie diese Codes

%Vor%

mit

%Vor%

Hinweis:

Und wenn Sie Klassen haben, die die Ereignisse dialog behandeln, dann erweitern Sie DialogFragment von android.support.v4.app.DialogFragment . Vergessen Sie nicht, onCreateDialog method zu überschreiben. Die vollständige Klasse wird ungefähr so ​​aussehen.

%Vor%

Dies wird wahrscheinlich Ihr Problem lösen!

    
___ answer35682698 ___

Ihr Fehler ist ein Fehler, der in der Support-Bibliothek 23.0.1 behoben wurde. Sie könnten versuchen mit %code% %code% :

%Vor%     
___ answer35655544 ___

Überschreiben Sie onCreateDialog und verwenden Sie stattdessen einen v7 AlertDialog Builder. oder

%Vor%     
___ answer35655870 ___

Dieser Fehler tritt in der Bibliotheksversion 23.0.0 auf und wurde in Version 23.0.1 behoben. Einige Benutzer berichten jedoch, dass das Problem weiterhin auftritt.

Quelle

Eine Sache, die Sie ausprobieren können, ist onCreateDialog zu überschreiben und stattdessen einen v7 AlertDialog Builder zu verwenden. Verwenden Sie zunächst DialogFragment, aber Sie erhalten einen AppCompatDialog, wenn Sie den v7 Builder und eine benutzerdefinierte setView verwenden.

    
___ qstnhdr ___ Die Fensterfunktion muss vor dem Hinzufügen von Inhalt angefordert werden, während das Dialogfeld in Fragment implementiert wird ___ answer35695888 ___

Sie müssen den unten stehenden Code verwenden, um die benutzerdefinierte Ansicht im Alarmdialogfeld festzulegen. Dieser Code ist in meinem Projekt enthalten.

%Vor%     
___ qstntxt ___

Ich habe ein Fragment, in dem ich einen benutzerdefinierten Dialog zeigen muss.

Bitte überprüfen Sie meinen Code unten.

%Vor%

Beim Entfernen der Linie:

%Vor%

Es gibt keinen Fehler, aber wenn ich denselben benutze, wird der folgende Fehler ausgelöst:

%Vor%     
___ tag123androidfragments ___ Fragmente stellen wiederverwendbares Verhalten oder Teile der Benutzeroberfläche in einer Android-App dar. ___ answer49073457 ___

In meinem Fall hatte eine Bibliothek eine Abhängigkeit von der appcompat v23.1.1-Bibliothek. Durch das Erzwingen der Bibliothek, meine aktuelle Version der app compat-Bibliothek zu verwenden, wurde das Problem behoben.

Um die Abhängigkeitshierarchie anzuzeigen, können Sie den folgenden Befehl verwenden:

%Vor%

Wo MODULE_NAME der Name Ihres App-Moduls ist (normalerweise nur 'App')

Um zu erzwingen, dass die Bibliothek die Abhängigkeit aktualisiert:

%Vor%     
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ answer35607087 ___

Verzeihen Sie, wenn ich Ihre Frage nicht direkt beantworte, aber ich werde eine alternative Lösung empfehlen.

Ich habe AppCompatDialog nicht direkt verwendet, aber ich habe AlertDialog mit AppCompatTheme verwendet. Ich finde AlertDialog sehr einfach in Bezug auf die Verwendung.

Beantworten Sie hier mit einem ziemlich guten Beispiel für die Verwendung von AlertDialog.

Ich hoffe, es hilft.

    
___
Shree Krishna 29.02.2016 09:09
quelle
0

Überschreiben Sie onCreateDialog und verwenden Sie stattdessen einen v7 AlertDialog Builder. oder

%Vor%     
Vasil Valchev 26.02.2016 15:25
quelle
0

Dieser Fehler tritt in der Bibliotheksversion 23.0.0 auf und wurde in Version 23.0.1 behoben. Einige Benutzer berichten jedoch, dass das Problem weiterhin auftritt.

Quelle

Eine Sache, die Sie ausprobieren können, ist onCreateDialog zu überschreiben und stattdessen einen v7 AlertDialog Builder zu verwenden. Verwenden Sie zunächst DialogFragment, aber Sie erhalten einen AppCompatDialog, wenn Sie den v7 Builder und eine benutzerdefinierte setView verwenden.

    
Morales Batovski 26.02.2016 15:40
quelle
0

Ihr Fehler ist ein Fehler, der in der Support-Bibliothek 23.0.1 behoben wurde. Sie könnten versuchen mit v7 AlertDialog.Builder onCreateDialog() :

%Vor%     
Stanojkovic 28.02.2016 12:45
quelle
0

Sie müssen den unten stehenden Code verwenden, um die benutzerdefinierte Ansicht im Alarmdialogfeld festzulegen. Dieser Code ist in meinem Projekt enthalten.

%Vor%     
Darshan Mistry 29.02.2016 09:26
quelle
0

In meinem Fall hatte eine Bibliothek eine Abhängigkeit von der appcompat v23.1.1-Bibliothek. Durch das Erzwingen der Bibliothek, meine aktuelle Version der app compat-Bibliothek zu verwenden, wurde das Problem behoben.

Um die Abhängigkeitshierarchie anzuzeigen, können Sie den folgenden Befehl verwenden:

%Vor%

Wo MODULE_NAME der Name Ihres App-Moduls ist (normalerweise nur 'App')

Um zu erzwingen, dass die Bibliothek die Abhängigkeit aktualisiert:

%Vor%     
TheIT 02.03.2018 16:36
quelle
-2

Verzeihen Sie, wenn ich Ihre Frage nicht direkt beantworte, aber ich werde eine alternative Lösung empfehlen.

Ich habe AppCompatDialog nicht direkt verwendet, aber ich habe AlertDialog mit AppCompatTheme verwendet. Ich finde AlertDialog sehr einfach in Bezug auf die Verwendung.

Beantworten Sie hier mit einem ziemlich guten Beispiel für die Verwendung von AlertDialog.

Ich hoffe, es hilft.

    
Pirdad Sakhizada 24.02.2016 16:05
quelle

Tags und Links