2012-10-20 35 views
6

我一直在學習Google IO 2012 code
在他們正在做的活動(HomeActivity.java)之一如下:不能理解isFinishing

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

    if(isFinishing()) return; 

    // More code here 
} 

我不知道爲什麼他們的權利後,不把returnfinish(),而是檢查isFinishing()

+0

這是一個非常好的問題。我的猜測是,他們把它放在那裏,或者是因爲*可能會有多個'finish()'調用,或者是因爲別的東西可能會在開始之前完成這個活動。 – Eric

回答

3

活動可以通過多種方式完成。

從已調用startActivityForResult

finishAffinityfinishFromChild

所以isfinishing活動finishActivity被用來解釋這種情況。