Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
上記のようなコードで設定するActionBarのUpナビゲーションは基本的に、
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SubActivity"
android:label="@string/title_activity_sub"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
のように、そのActivityの親の階層に指定したActivityを新しく生成するらしい。
そういうわけで、親の階層に当たるActivityのlaunchModeがデフォルトの場合は、Upナビゲーションを実行する度に新しくActivityが生成され、親の階層に当たるActivityのlaunchModeがsingleTopの場合は、onNewIntent()メソッドから呼び出され、新しく生成されない。
onCreate()メソッドでテキストに現在時刻をセットするActivityを親側のActivityとして、Upナビゲーションを通して子のActivityと行ったり来たりしてみた。
launchMode デフォルト
launcheMode singltTop
データの読み込みのタイミングに注意したいというか、Toolbarに移行したいというか...。
actionbar-navigation-up-with-2-launche-mode · GitHub

