2016-07-14 23 views
1

IZurück-Taste eine andere Aktivität nicht Mutter Aktivität in Android gehen

getActionBar().setHomeButtonEnabled(true); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 

Damit der Benutzer kommt zurück an die Mutter Aktivität eine Zurück-Schaltfläche mit diesem Code erstellt. Aber jetzt möchte ich, dass der Benutzer zu einer anderen Aktivität (nicht die übergeordnete Aktivität) zurückkehrt. Wie kann ich das machen ?

+0

tat Sie überprüfen die Antwort .. – Ironman

+1

Aber es ist kein gutes Design, um Benutzer auf eine andere Seite umleiten, wenn sie auf die Schaltfläche zurück klicken. Die Schaltfläche Zurück sollte Benutzer auf die vorherige Seite umleiten. –

Antwort

2

Griff ActionBar Home-Taste gedrückt Ereignis und ausgeführt Ihre Logik

 @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
       switch (item.getItemId()) { 
       case android.R.id.home: 
         // Your desired class 
         startActivity(new Intent(ThisActivity.this, NextActivity.class)); 
        break; 
       } 
       return true; 
     } 
2

Sie onBackPressed() von Ihrer Aktivität außer Kraft zu setzen haben:

@Override 
public void onBackPressed() 
{ 
    super.onBackPressed(); 
    startActivity(new Intent(ThisActivity.this, NextActivity.class)); 
    finish(); 

} 

Hinweis: In diesem Code ThisActivity ist Ihre aktuelle Aktivität und NextActivity ist, die Sie offen Aktivität auf Zurück-Button klicken.

0

versuchen auf diese Weise,

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu_file, menu); 
    return true; 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 

     case android.R.id.home: 

       Intent about = new Intent(MainActivity.this,Target.class);; 
       startActivity(about); 
       finish(); 

      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 

} 

hier android.R.id.home auf Ihren Zurück-Symbol beziehen, die in ActionBar ist

0

Fügen Sie diese in manifest, für Ihre Tätigkeit Namen ändern es

 <activity 
      android:name="SecondActivity" 
      android:parentActivityName="ParentActivity" > 
      <!-- Parent activity meta-data to support 4.0 and lower --> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.app_name.A" /> 
     </activity> 

Dann sollten Sie Code wie unten in Ihrem Kind oder Second Aktivität hinzufügen keine Notwendigkeit Absicht wie nur finish() aktuelle Aktivität passieren unter

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 

      case android.R.id.home: 

        Intent intent = new  Intent(SecondActivity.this,ParentActivity.class); 
        startActivity(about); 
        finish(); 
       return true; 

      default: 
       return super.onOptionsItemSelected(item); 
     }