Wie navigiere ich zu einer wiederverwendbaren Aktivität und navigiere dann "AUF" zur aufrufenden Aktivität?Zurück zu einer wiederverwendbaren Aktivität navigieren
Ich habe einen MainActivity, die ich nennen:
Intent intent = new Intent(MainActivity.this, ReusableActivity.class);
intent.put("SomeName", SomeData);
startActivity(intent);
Und ich habe eine OTHER, die das ReusableActivity nennt auch.
Intent intent = new Intent(OtherActivity.this, ReusableActivity.class);
intent.put("SomeName", SomeData);
startActivity(intent);
In meinem ReusableActivity Ich habe eine Symbolleiste, die den „UP“ Pfeil werden angezeigt, so dass der Benutzer zurück navigieren kann.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ReusableActivity);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
Wie bekomme ich ReusableActivity, um den Benutzer wieder an die richtige Anrufaktivität zu senden?
Also, wenn ich auf dem OTHER bin und gehen Sie zu ReusableActivity, wenn der Benutzer die Aufwärtstaste drückt, gehen sie zurück zu OTHER
Manifestdatei
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myCompany.myApp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".LoginActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".SearchView"
android:label="@string/title_activity_search_view"
android:parentActivityName=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustPan|adjustResize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myCompany.myApp.MainActivity" />
</activity>
<activity
android:name=".SearchResultsList"
android:label="@string/title_activity_search_results_list"
android:parentActivityName=".SearchView"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myCompany.myApp.SearchView" />
</activity>
<activity
android:name=".ReusableActivity"
android:label="@string/title_activity_details"
android:parentActivityName=".SearchResultsList"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myCompany.myApp.SearchResultsList" />
</activity>
<activity
android:name=".OtherActivity"
android:label="@string/title_activity_other"
android:parentActivityName=".MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.myCompany.myApp.MainActivity" />
</activity>
</application>
</manifest>
So möchten Sie die Taste "Home" ein "zurück" statt ein "up" zu sein? Setzen Sie 'DisplayHomeAsUpEnabled (true)' nicht, wenn Sie nicht möchten, dass es tatsächlich ein Up ist. Siehe [Navigation mit Zurück und Hoch] (https://developer.android.com/design/patterns/navigation.html) – dsh
Aus irgendeinem Grund, wenn ich auf Andere bin und auf Reusealbe gehe, wenn der Benutzer die Zurück-Taste drückt, sind sie stattdessen nach Main genommen. –
Die Schaltfläche Zurück befindet sich nicht in der Symbolleiste. Wenn Sie es nicht übersteuert haben, werden Sie zurück zu "Andere" gehen. Up ist jedoch ganz anders als Back. Siehe die Android-Dokumentation, die ich zum Thema verlinkt habe. – dsh