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