2012-10-20 13 views
6

Ich habe Google IO 2012 code
In einer der Aktivitäten (HomeActivity.java), wie sie tun das Studium folgt:Kann nicht verstehen isFinishing

void onCreate(Bundle savedInstance) 
{ 
    if(someCondition) { 
     // start some other activity here 
     finish(); // finish this activity 
    } 

    if(isFinishing()) return; 

    // More code here 
} 

Ich frage mich, warum sie nicht return platziere direkt nach finish() aber anstatt isFinishing() zu überprüfen?

+0

Das ist ... eine sehr gute Frage. Meine Vermutung ist, dass sie es dort entweder weil * konnte * mehrere 'finish()' Anrufe sein, oder weil etwas anderes diese Aktivität beenden kann, bevor es beginnt. – Eric

Antwort

3

Eine Aktivität kann auf verschiedene Arten abgeschlossen werden.

finishActivity aus einer Tätigkeit, die startActivityForResult

finishAffinity und finishFromChild

So isfinishing wird verwendet, um Konto für solche Fälle genannt hat.

Verwandte Themen