我确实有一个非常简单的应用程序,其中只有一个CheckBox。我认为当android确实销毁我的活动时,此复选框的状态将为列表。实际发生的是,该复选框保持选中状态。
实际上会调用onDestroy()(在旋转时或当我切换到另一个应用程序时->我的仿真器具有此dev配置)。
那么,为什么在不使用onRestoreInstanceState()和onSaveInstanceState()的情况下可以工作呢?
Android Target是4.2 Jelly Bean。
这是我的活动:
public class CoffeeMixerActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_coffee_mixer);
}
protected void onDestroy() {
super.onDestroy();
Log.d("MyMessage", "Destroy my app");
}
}
这是我的布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".CoffeeMixerActivity" >
<CheckBox
android:id="@+id/checkBoxSprinkles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sprinkles" />
</RelativeLayout>
好吧..我自己找到了解决方案:Android CheckBox-屏幕旋转后还原状态
说明:每个视图的确在true上具有android:saveEnabled标志。.这意味着,当视图确实具有ID时,冻结视图时会自动保存状态...
这里有属性文档:http : //developer.android.com/reference/android/R.attr.html#saveEnabled
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句