2014-01-16 20 views
8

In meiner Anwendung. Ich habe einen login Bildschirm. Wenn die Anmeldung erfolgreich ist, wird ein tab activity gestartet, in dem es 4 Registerkarten gibt. Wenn ich eine der Schaltflächen auf der Registerkarte drücke, wird eine neue Aktivität gestartet. Es gibt ein Ereignis in meiner Klasse login, das in einigen Fällen ausgelöst wird. Ich möchte zu der Registerkarte Aktivität zurückkehren, wenn das Ereignis ausgelöst wird. Ich habe einen Code mit Intent geschrieben. Dieser Code funktioniert gut. Aber nachdem ich die Tab-Aktivität erreicht habe, möchte ich nicht mehr zu der Aktivität zurückkehren, wenn die Zurück-Taste gedrückt wird. Ich möchte das entfernen. Ich möchte die Anmeldung anzeigen, wenn Zurück gedrückt wird. Gibt es eine Möglichkeit, dies zu tun? Dies ist der Code, den ich verwendet habe:starten Sie eine Aktivität mit Absicht und deaktivieren Sie die Zurück-Taste drücken Sie vom Start der vorherigen Aktivität

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
startActivity(tabi); 

Der Code onkeydown in Registerkarte Aktivität:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 


     super.onKeyDown(keyCode, event); 
     return true; 
    } 
    return false; 
} 
+0

Sie Finish() auf Ihre Aktivität auf der Rückseite drücken aufrufen können. – krishna

Antwort

10
Intent tabi=new Intent(getApplicationContext(),Tab.class); 
      startActivity(tabi); 
finish(); 
+0

hey, wenn meine Antworten richtig sind als PLZ als richtige Antworten markieren –

4

Verwendung onBackPressed und dass beginnen Ihre Tätigkeit

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    super.onBackPressed(); 
    Intent intent = new Intent(Tab.this , Login.class); 
    startActivity(intent) 
} 

und Sie können den Verlauf mit dem folgenden Code löschen, den der Benutzer nicht c ame zurück von Login-Seite besuchte Seite

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
1

zurück gehen Bildschirm anmelden, kann auf zwei Arten erreicht werden:

erster Weg ist, (vorausgesetzt, Sie aktuell Login scren) sind einfach zu der Ebene nächste Aktivität mit Intent, ohne die aktuelle Aktivität zu beenden, und innerhalb onBackPressed() müssen Sie einfach finish() anrufen.

Zweite Möglichkeit ist, wenn Sie finish() die Login-Aktivität, dann navigieren Sie einfach zu login Aktivität mit Intent und beenden Sie die Registerkarte Aktivität.

Es ist einfach. Verwenden Sie Intent, um zum Login-Bildschirm zu wechseln:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_BACK) { 

    startActivity(new Intent(getApplicationContext(), Login.class)); 
    finish(); 

    super.onKeyDown(keyCode, event); 
    return true; 
} 
return false; 
} 
7

Rufen Sie einfach finish(); Methode nach dem Start der Aktivität. Es wird

Wie aus Zurück-Taste verhindern:

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
startActivity(tabi); 
finish(); 
+0

Vielen Dank. Das hat mir sehr geholfen! –

+0

Sie sind willkommen .. Happy coding .. –

2

Wenn Ereignis ausgelöst erhalten, rufen Registerkarte Aktivität mit dieser Absicht Flaggen

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
tabi.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(tabi); 
Verwandte Themen