Ho un ActionBar nella mia app per Android (Livello 14 API). C'è un pulsante Home con l'icona della mia app. In MainActivity scrivo un breve testo in una vista EditText. Quando navigo in PreferenceActivity l'icona riceve una freccia per segnalarmi, posso navigare a Home Activity (MainActivity).Android: fare clic sull'icona di ActionBar, creare una nuova istanza di attività
// PreferenceActivity-onCreate
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
clicco su quel icona dell'applicazione in ActionBar per tornare a MainActivity
// PreferenceActivity
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Ora la mia MainActivity è stato creato di nuovo und il testo in EditText è andato. Pensavo di poter mantenere in vita MainActivity con die Intent.FLAG_ACTIVITY_CLEAR_TOP. Voglio avere un comportamento come io uso il mio pulsante di ritorno sul dispositivo.
In questo modo non funziona. Ma quando scrivo 2 addFlags, funziona bene. \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_SINGLE_TOP); – Gepro
Ah ... mi dispiace, hai bisogno di un singolo "|" e non "||" tra le 2 bandiere. Colpa mia. Vuoi un ** bit * OR, non un ** logico ** OR. Ho modificato la mia risposta. –
Giusto, ho notato che – Gepro