Mam pasek akcji w mojej aplikacji na Androida (poziom interfejsu API 14). Istnieje przycisk strony głównej z ikoną mojej aplikacji. W MainActivity piszę krótki tekst w widoku EditText. Gdy nawiguję do PreferenceActivity, ikona otrzymuje strzałkę, która sygnalizuje mi, mogę przejść do strony głównej Activity (MainActivity).Android - Kliknij ikonę aplikacji ActionBar, utwórz nową instancję aktywności
// PreferenceActivity-onCreate
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
kliknięciu na tę ikonę aplikacji w ActionBar aby powrócić do główną działalność
// 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);
}
}
Teraz moja główną działalność została utworzona ponownie und tekst w EditText zniknął. Pomyślałem, że utrzymam przy życiu Aktywność Główną dzięki die Intent.FLAG_ACTIVITY_CLEAR_TOP. Chcę mieć zachowanie podobne do mojego przycisku powrotu na urządzeniu.
Ten sposób nie działa. Ale kiedy piszę 2 addFlags, działa dobrze. \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); \t \t \t intent.addFlags (Intent.FLAG_ACTIVITY_SINGLE_TOP); – Gepro
Ah ... przepraszam, potrzebujesz singla "|" a nie "||" między 2 flagami. Moja wina. Chcesz ** bitowy ** OR, a nie ** logiczny ** LUB. Edytowałem swoją odpowiedź. –
Racja, muszę zauważyć, że – Gepro