Frage

Ich erstellte eine Assistent-Anwendung, in der ich die Benutzerdaten zwischen den Aktivitäten A und B lebendig halten muss. A hat einen nächsten Soft-Taster und B hat einen hinteren Soft-Taster.

Bei Verwendung von FLAG_ACTIVITY_REORDER_TO_FRONT kann ich die Benutzerdaten lebend halten, wenn die Soft-Tasten verwendet werden, da jede Aktivität wiederverwendet wird.

, wenn der Benutzer jedoch den BACK-Hard-Taste von B, B drückt, wird aufgrund dieser harten Taste das Finish () implizit () verwendet.

Ich habe dann versucht, den generationspflichtigen onBackPressed in B zu überschreiben, und das gleiche Verhalten hinzufügt wie mein Back-Soft-Taste, um zu denken, dass sich der BACK-Hard-Taste genau wie die erstere Taste verhält (nicht das Ende b).

Jetzt, um von B zu einem mit einem hinteren Hard-Schlüssel zurückzukehren, ist alles in Ordnung. An diesem Punkt mit dem Fokus in A, wenn der Benutzer die hintere Hard-Taste erneut drückt, ist das erwartete Verhalten, dass die Anwendung verlässt.

Das Problem ist, dass erwartetes Verhalten nicht auftritt, da B noch lebendig ist; Damit hört der überschüttete GROSSACDICETAGCODE in B immer noch ein anderes Verhalten.

Wie kann ich mit dem überschüssigen onBackPressed in B beenden, so dass, wenn sich der Fokus in der Anwendung befindet, wenn sich der Antrag befindet?

Vielen Dank im Voraus.

War es hilfreich?

Lösung 2

Nun, ich konnte mein Problem mit einer natürlichen Android-Lösung gelöst:

Nach der Krylez-Spitze habe ich aufgehört, flag_Activity_reorder_to_front aufgehört habe, also habe ich keine Konflikte mit der harten Taste mehr, und jetzt recycle ich die Absicht, die meinen Assistenten beginnt.

in a, ich habe ein sehr häufiges Verfahren, das aufgerufen wird, wenn der Benutzer den Soft-Taste fortfahren, um zu B. Tätigkeit zu gelangen, um zu B. Tätigkeit zu gelangen, ist nur informativ, sodass die Extras der Absicht nicht mit den Daten des Benutzers gestellt werden B, wie folgt:

generasacodicetagpre.

Wenn die Aktivität B beginnt, muss es immer suchen, ob die Daten des Benutzers in den Bereichen der Benutzer verfügbar sind, wie folgt, wie folgt:

generasacodicetagpre.

Jetzt, vielleicht aus B, drückt der Benutzer eine beliebige Button-Taste (weich oder hart) an Rücken in A. In diesem Fall müssen wir die Daten des Benutzers in den Abbildungs-Extras einfügen, wie folgt:

generasacodicetagpre.

Zum Schluss, wenn der Benutzer die fortlaufende Soft-Taste erneut drückt, hat die neue Aktivität B die Daten, die der Benutzer las Time eingegeben hat.

Ich hoffe, es hilft jemandem.

Andere Tipps

Überlegen Sie, wie Krylezs Kommentar.Oder möchten Sie möglicherweise Fragmente .Wenn Sie SDKs abzielen, die älter als 3.x sind, siehe Unterstützung der Bibliothek .

Es gibt Beispielprojekte in SDK-Ordner, die den Assistentenstil verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top