IndexOutOfBoundsException: charAt: 0 = Länge 0 bei einigen Versionen von Android

9

Ich versuche, mit Java und Eclipse Anwendungen zu erstellen (die derzeit B4A verwenden, aber meine verfügbaren Ressourcen erweitern und Bibliotheken erstellen möchten)

Beim Versuch, einen Dialog mit Fragmenten zu implementieren, habe ich das Beispiel hier verfolgt .

Ich bekomme immer

%Vor%

Ich habe versucht, zu debuggen, aber der Debugger stoppt nie auf irgendeinen Fehler (und ich bin zu diesem Debugger neu, also nicht sicher, wie man dieses herausfindet).

Sieht jemand wo die Ausnahme verursacht wird? (Nur um sicherzustellen, dass es kein Fettfinger irgendwo war, habe ich über den Git heruntergeladen und es ausprobiert, und genau dieselben Fehler im Logcat erhalten)

Hier ist mein mainActivity.java:

%Vor%

Und hier ist der EditNameDialog.java:

%Vor%

und meine String Resource Datei:

%Vor%

Vervollständige StackTrace von logcat: (nicht anders als oben)

%Vor%

Bearbeiten: Lief auf meinem Galaxy S3 mit 4.1.2. Wenn ich es mit meinem Galaxy SL mit 2.3.4 ausprobiert habe, gibt es absolut keine Probleme mit dem Logcat. Dies sagt mir, dass es plattformbezogen ist, aber bei meinen Suchen habe ich nichts in Bezug auf die Android-Version gesehen. Follow-up-Frage, kennt jemand ein Problem mit JB (oder irgendetwas anderem, das ich erwähnt habe), das diesen Fehler erklären könnte?

    
user2346305 06.05.2013, 07:12
quelle

1 Antwort

1

Wahrscheinlich wird die Ausnahme von android.text.SpannableStringBuilder # charAt (int) ausgelöst.

%Vor%

Ich denke, in Ihrem Code wird eine Art Thread-unsichere Operation ausgeführt.

Zum Beispiel könnte es sich lohnen, zu versuchen, showEditDialog () von onCreate (Bundle) nach onResume () zu verschieben. Wenn es das Problem nicht löst, ist EditNameDialog # onCreateView die nächste Überprüfung.

Android API hat viele onCreateXxx-Methoden, und es gibt dokumentierte und nicht dokumentierte Dinge, die wir in den Methoden vermeiden sollten.

    
Takahiko Kawasaki 08.11.2013 10:09
quelle