2015-11-14 63 views
1

在android finish()方法中遇到了一些問題。 我有一個家長級的活動。讓我們稱之爲ParentActivity。我的項目中的所有其他活動都擴展了ParentActivity。每次在ParentActivity.onCreate上都有一些聲明,如果失敗,我想停止執行活動。但是,當我在父母中調用finish()時,我無法停止在其子上執行onCreate方法。類似的東西:從父類完成應用程序

public class ParentActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (!someStatement) finish(); 
} 

public class Test extends ParentActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);   
    Log.d("TAG", "I dont want this code!"); 
} 

}

當然,我可以每次都驗證父活動的狀態,但我不認爲它是個好主意。

public class Test extends RexActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (isFinishing()) return; /// It works - but it bad :(((
    Log.d("TAG", "I dont want this code!"); 
} 

}

我可以以某種方式阻止其母公司執行的onCreate兒童活動的方法?非常感謝您的幫助!

回答

0

最好的選擇是使用結束()在閃屏創建你的第二個活動,

1

我不知道如果我得到你的問題的權利之前。因爲你有一些語法問題。

  1. onCreate語句總是執行。您可以使用Boolean中的ParentActivity停止在ChildActivity#onCreate()中執行的代碼。
  2. 你可以嘗試使你的onCreate()代碼更多模塊通過將它分成函數,使它不被調用。

讓我知道什麼適合你。

相關問題