2017-03-29 4 views
-3

Jemand hat mir vor einer Woche eine Frage gestellt, und bis jetzt habe ich die Antwort auf diese Frage nicht bekommen. Die Frage war, wie wir zur vorherigen Aktivität zurückkehren können, indem wir den Knopf des Gerätes drücken ohne intent oder finish().Zurück zur vorherigen Aktivität?

+0

Ich erinnere mich eine Frage vor einer Woche über das diese Zeile unter Aktivitäts-Tag-Manifest und fügen Sie gehen. das Drücken der Zurück-Taste sagt nicht, dass man die Aktivitäten wechselt.Ich denke, die Gesamtlösung bestand darin, stattdessen Fragmente zu verwenden, da es einfacher ist, sie wieder aufzublasen. Viel Glück, ich folge dies auch – koksalb

+3

Seine normale Aktivität Stack, nur stellen Sie sicher, dass Sie onBackPressed() -Methode in Aktivität nicht überschreiben. Wenn Sie dem folgen, müssen Sie nicht die Absicht oder das Ende verwenden, um zwischen dem Aktivitätsstapel zu wechseln. –

+0

Wenn Sie die Taste des Geräts drücken, ruft es nicht aufBackspressed(), kann intern sein Calling Finish –

Antwort

-3

Sie können es tun, indem Sie einfach onBackPressed Methode in Ihrer Tätigkeit überschreiben.

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
    } 

Hoffe diese Hilfe!

+1

das macht gar nichts. – Kuffs

+0

es hat deutlich erwähnt, gehen Sie zurück zur vorherigen Aktivität durch Drücken der Taste zurück Gerät ohne Verwendung von Absicht oder Ende(). nicht actionbar zurück button –

0

Es gibt keine Notwendigkeit, einen Code für die Rückkehr zu früheren Aktivitäten zu tun, indem Sie auf die Schaltfläche "Zurück" des Geräts, Android-System halten Stapel für Aktivität und machen Sie diesen Job für Sie.

Wenn Sie Schaltfläche zurück in Aktionsleiste hinzufügen möchten, dann tun Sie es.

unter Code hinzufügen in onCreate Methode

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setDisplayShowHomeEnabled(true); 

Und in Menifest.xml Datei in Ihrer Aktivität unterhalb Code hinzufügen

<meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myfirstapp.MainActivity" /> 

In android: Wert fügen Sie Ihre Mutter Aktivität, zu dem Sie umleiten .

Weiteren Referenzbesuch unter Link ...

https://developer.android.com/training/implementing-navigation/ancestral.html

+0

Wenn ich die vorherige Aktivität vor dem Sprung auf die aktuelle dann beendet, wie wir vorher bekommen können . – DkThakur

+0

Dann müssen Sie die Aktivität mit Intent in der Methode onBackPressed() starten. –

4

Wenn Sie Intent verwenden als sicher, dass Sie rufen Sie nicht finish(); Nach

StartActivity(IntentObj); 

Verfahren unter Verwendung als A pro Aktivität Stack Backbutton wird seine Arbeit tun und zur vorherigen Aktivität gehen.

Und stellen Sie auch sicher, dass Sie nicht übersteuern onBackPressed() Methode in Aktivität.

ODER

Sie können einstellen, Home Button auf spezifische Aktivität gehen Denn Für, dass Sie zu Zurück Give-Taste in Aktionsleiste. Für Das in onCreate()

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setDisplayShowHomeEnabled(true); 

Und in manifest.xml

<activity 
     android:name="com.example.myfirstapp.DisplayMessageActivity" 
     android:label="@string/title_activity_display_message" 
     android:parentActivityName="com.example.myfirstapp.MainActivity" > 
     <!-- Parent activity meta-data to support 4.0 and lower --> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myfirstapp.MainActivity" /> 
    </activity> 
0

Wenn Sie in Ihrer aktuellen Aktivität eine Schaltfläche wie diese haben, dann können Sie, wenn Sie auf diese Schaltfläche klicken, zur vorherigen Aktivität wechseln. Beachten Sie, dass die aktuelle Aktivität damit beendet wird.

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      finish(); //finish current activity and go back to previous Activity 
     } 
    }); 
0

Sie können diese

BackButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      onBackPressed(); 
     } 
    }); 

Versuchen Sie danach

android:noHistory="false" 
Verwandte Themen