如何在旋转屏幕后保持DatePicKer状态

时间:2011-02-16 14:34:52

标签: android datepicker screen rotation

我已经实现了API提供的HelloDatePicker演示版。

http://developer.android.com/resources/tutorials/views/hello-datepicker.html

然而,旋转屏幕后我无法保持其价值。有人可以发布一个例子或说明如何做到这一点。

由于

3 个答案:

答案 0 :(得分:1)

使用onRetainNonConfigurationInstance()保存日期,并在onCreate中使用getLastNonConfigurationInstance()加载并设置日期。

答案 1 :(得分:0)

旋转后,将重新创建活动。避免它的最简单方法是添加:

android:configChanges="keyboardHidden|orientation"

在Activity声明中的AndroidManifest.xml中。

了解更多信息you should read it

答案 2 :(得分:0)

即使没有片段,Activity本身也可以做到:

@Override protected void onSaveInstanceState (Bundle outState)
{
    super.onSaveInstanceState (outState);
    outState.putInt ("YEAR", mDatePicker.getYear ());
    outState.putInt ("MONTH", mDatePicker.getMonth ());
    outState.putInt ("DAY", mDatePicker.getDayOfMonth ());
}

@Override protected void onRestoreInstanceState (Bundle savedInstanceState)
{
    super.onRestoreInstanceState (savedInstanceState);
    mDatePicker.updateDate (savedInstanceState.getInt ("YEAR"),
                            savedInstanceState.getInt ("MONTH"),
                            savedInstanceState.getInt ("DAY"));
}