2016-08-09 68 views
0

Ich bin neu in Android-Entwicklung, möchte ich vollständig von der Aktivität verlassen.Wie zum Beenden der Aktivität in Android

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second); 
    Button orderButton = (Button) findViewById(R.id.button3); 
    Button exit = (Button) findViewById(R.id.button2); 
    exit.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      finish(); 
     } 
    }); 
}  
+1

Dies sollte in Ordnung sein. Was ist das Problem? – Shaishav

+0

Ich möchte die Aktivität vollständig beenden, aber der obige Code wird an die Aktivität – sanjay

+0

gesendet Ja, der obige Code wird die aktuelle Aktivität "beenden" und daher wird die vorherige Aktivität in den Vordergrund kommen – Shaishav

Antwort

0
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second); 
    Button exit = (Button) findViewById(R.id.button2); 
    exit.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent homeIntent = new Intent(Intent.ACTION_MAIN); 
      homeIntent.addCategory(Intent.CATEGORY_HOME); 
      homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(homeIntent); 
     } 
    }); 
} 

Dies ist die Art und Weise vollständig von der Aktivität

+0

Damit wäre die aktuelle Aktivität noch im Backstack. – Shaishav

+0

das ist absolut nicht der Code zum Beenden. –

+0

überprüfen Sie diesen Code .Es funktionierte perfekt – sanjay

0

vollständig zu verlassen Sie gerade anrufen finish() müssen verlassen, die ein Verfahren zur Herstellung context ist (Activity ist ein Context)

So Von innerhalb Ihres Zuhörers können Sie

MyActivity.this.finish(); 
anrufen

(Wo MyActivity ist der Name, was auch immer Aktivität, die Sie, dass anonyme Zuhörer innen geschrieben haben)

+0

danke ..ich wird dies überprüfen – sanjay

0

Verwendung finish(); in früheren Aktivität, wenn Sie Intent verwenden nächste Aktivität zu bewegen. hoffe das wird dir helfen.

0

Ich weiß nicht, ob dies das ist, was Sie wollen, aber wenn Sie wie gesagt nicht wollen, dass Sie zur vorherigen Aktivität gehen, können Sie sicherstellen, dass die vorherige Aktivität "geschlossen" wäre Du bist zu dem Neuen gekommen.

Eine andere Sache, die Sie tun könnten, wäre nur eine neue Absicht zu erstellen, um es an die richtige Aktivität zu senden, sicherzustellen, dass, wenn Sie die andere Aktivität verlassen, es geschlossen wird.

Wenn Sie alles (alle Aktivitäten) beenden möchten, können Sie eine Absicht erstellen, um zur ersten Aktivität von allen zurückzukehren, eine Flagge oder einen Booleschen Wert bei dieser ersten Aktivitätsprüfung zu setzen Der Wert dieses Boolean (oder Flags) und wenn es sich um den gewünschten Status handelt (das bedeutet, dass Sie alle Aktivitäten schließen wollen), beenden Sie einfach() diese erste Aktivität.

Hoffe, das hat dir geholfen.