Mam problem z nawigacją po działaniach i nie mogę określić, co robię źle.Powrót i udostępnianie mają różne wyniki.
mam MainActivity
i SettingsActivity
ale stosując (bar na działania) Back
i Up
mieć dwa różne wyniki z ustawień działania.
Na przykład, jeśli nacisnę przycisk Back otrzymuję następujące wywołania zwrotne cyklu życia wewnątrz MainActivity
:
V/lifeCycle: onOptionsItemSelected
V/lifeCycle: onPause
V/lifeCycle: onSaveInstanceState-Bundle[..]
V/lifeCycle: onStop
<< PRESS BACK BUTTON >>
V/lifeCycle: onRestart
V/lifeCycle: onStart
V/lifeCycle: onResume
V/lifeCycle: onPostResume
Chociaż gdybym naciśnij przycisk Nawiguj w górę i uzyskać te wyniki:
V/lifeCycle: onOptionsItemSelected
V/lifeCycle: onPause
V/lifeCycle: onSaveInstanceState-Bundle[..]
V/lifeCycle: onStop
<< PRESS NAV UP >>
V/lifeCycle: onDestroy // Problem
V/lifeCycle: onCreate // Seems
V/lifeCycle: onStart // Here
V/lifeCycle: onResume
V/lifeCycle: onPostResume
The Problem polega na tym, że po naciśnięciu klawisza Nav UP
moja główna aktywność zostaje zniszczona i odtworzona, co oznacza, że tracę wszystkie moje stany przeglądania, ale naciśnięcie przycisku wstecz nie powoduje tego.
Nie jestem pewien, czy jest to w jaki sposób mam rozpoczęciem PreferenceActivity
:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
Albo jak moje intencje w AndroidManifest.xml
są skonfigurowane:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SettingsActivity"
android:label="@string/title_activity_settings"
android:parentActivityName=".MainActivity">
<intent-filter>
<category android:name="android.intent.category.PREFERENCE" />
</intent-filter>
</activity>
To może być przyczyną problemu, lub czy to jest prawidłowe zachowanie, które muszę zastąpić, a jeśli tak, to jaki jest "właściwy" sposób na przesłonięcie?
Via G + I była skierowana na 'NavUtils' i [Zapewnienie Up Nawigacja] (http://developer.android.com/training/implementing- navigation/ancestral.html), To było bardzo pomocne w moim zrozumieniu. – hoss