1
讓我告訴你我的代碼的兩個例子。如何將它放在哪裏我在哪裏如果(savedInstanceState!= null){} onCreate方法
example 1:
@Override
protected void onCreate(Bundle savedInstanceState) {
if (savedInstanceState != null){
mCurrentIndex = savedInstanceState.getInt(KEY_INDEX, mCurrentIndex);
};
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
}
例子2:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
if (savedInstanceState != null){
mCurrentIndex = savedInstanceState.getInt(KEY_INDEX, mCurrentIndex);
};
}
我不知道如何來也沒關係,我在我的代碼放在
if (savedInstanceState != null){
mCurrentIndex = savedInstanceState.getInt(KEY_INDEX, mCurrentIndex);
};
。我的假設是,setContentView
顯示當前的佈局,如果mCrrentIndex
更改,這是不同的。所以,如果我先設置內容視圖,然後再檢查mCurrentIndex
有什麼int,那麼這很重要。事實證明,情況並非如此,我不知道爲什麼。誰能解釋一下?
如果您想稍後使用,則必須先設置捆綁包。看看[onSaveInstanceState](http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle))方法。 – skywall 2014-10-04 12:33:02
onSaveInstanceState方法已在其他代碼部分中實現。問題是爲什麼if語句可以在senContentView方法之前或之後。 (兩種方式工作) – brumbrum 2014-10-04 12:36:54