2012-03-28 2 views
0

Hallo alle hier ist mein Problem. Die Listenansicht meiner App (die sich in einem Tab-Widget befindet) enthält verschiedene Arten von Zeilen. Ich hatte viele Probleme, dies einzurichten und hier ist eine weitere 1. Bitte beachten Sie here für den Code, der im Grunde gleich bleibt. Ich benutze eine andere Aktivität (ein benutzerdefinierter implementierter ES Datei Explorer) welcher ein Dateibrowser Dialog ist um eine Datei zu öffnen. Die Daten aus der Datei werden an die Listenansicht gesendet. Wenn es die Liste zeigt und ich auf den Spinner klicke, verdunkelt sich der Bildschirm und friert ein. Wenn ich den Zurück-Knopf drücke, verschwindet die Verdunkelung, die Listenansicht wird anklickbar, aber der Spinner ist immer noch nicht. Der einzige Ausweg ist, wenn ich zu einem anderen Tab-Widget umblättere und wieder zurück (es gibt 2 separate) das Spinner wird wieder funktionieren.Spinner in benutzerdefinierten ListView friert bei der Rückkehr von einer anderen Aktivität ein

Ich sollte sagen, dass der Spinner funktioniert gut, wenn ich keine Dateien von der anderen Aktivität laden. Also ich denke mit anderen Worten gibt es ein Problem des Fokus oder etwas beim Schalten und Töten von Aktivitäten.

Ich hoffe, Sie können helfen.

EDIT nach etwas mehr versuchen, manchmal nach dem Laden der Datei aus dem Browser wird es zu einem schwarzen Bildschirm, wo die Listview ist da, aber nicht sichtbar. zB können Sie darauf klicken und der Editor öffnet sich.

Antwort

0

Hallo, es dauerte wieder ewig, aber hier war das Problem. die benutzerdefinierte Listenansicht hatte

this.setDescendantFocusability(FOCUS_BEFORE_DESCENDANTS); 

gesetzt

so alles, was ich tun musste eingestellt wurde

holder.techniquespinner.setDescendantFocusability(parent.FOCUS_BEFORE_DESCENDANTS); 

für den Spinner und voila; Ich habe es nicht ausprobiert aber es sollte wohl in die XML-Datei gehen.

Dank an alle, die aussahen.

EDIT Mist, sprach ich zu bald. Es funktioniert immer noch nicht. Es gibt 2 Tabwidgets in einem Flipper. Wenn Sie vom Browser zu der Registerkarte zurückkehren, in der es OHNE den Flipper umgedreht hat, funktioniert es. Einmal spiegeln, zurück und dann zum Browser funktioniert nicht. Ich bin nicht einmal sicher, welchen Code ich schreiben soll. Es ist ziemlich komplex.

FINAL EDIT

Dies ist, wie ich es behoben.

flipper.showNext(); 

und dann wieder zurück.

Es irgendwie erfrischt die Sicht bringt es zurück zu konzentrieren und wieder verwendbar.

Es ist nicht schön, aber es funktioniert.

Verwandte Themen