Domanda

Ho una domanda con una TabActivity contenente ActivityGroup. Ogni schede funziona bene, ma per una scheda specifica voglio tornare alla prima attività figlio quando c'è un click su di esso (ogni volta che ci troviamo in un'attività di figlio di questa scheda o all'interno di un'altra scheda).

Ho provato ad avviare l'attività che voglio sul onResume della mia ActivityGroup, funziona quando sono in un'altra scheda, ma non quando sono in questa scheda, con un'attività bambino.

Devo utilizzare un'altra bandiera intento di FLAG_ACTIVITY_CLEAR_TOP per questa scheda? Qualcuno ha un indizio?

Grazie.

È stato utile?

Soluzione

Di solito con ActivityGroup avete qualche tipo di storia.

Diciamo che la vostra storia è:

ArrayList<View> history;

di esigenze di storia corso per essere inizializzato e hanno alcuni Visualizzazioni in esso, che può essere recuperato con:

getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView();

dove Clazz è la classe della vostra attività bambino. Quindi, al clic in ActivityGroup corrente definire un metodo come:

public void backToFirst() {
    int size = history.size();
    while (size > 1) {
        history.remove(size - 1);
        size = history.size();
    }
    setContentView(history.get(0));
}

Spero di aver capito correttamente e questa è la risposta che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top