我的活动包含以下代码。
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// set time picker values
TimePicker picker = (TimePicker) findViewById(R.id.startTimePicker);
picker.setIs24HourView(true);
picker.setCurrentHour(10);
picker.setCurrentMinute(15);
}
因此,时间选择器设置为固定时间,这可以按预期工作。 但是当我旋转屏幕并重新创建活动时,时间选择器在所有字段中显示相同的值 - 而不是值集。这发生在屏幕上的一个,两个或更多时间选择器上。
有没有人解释这种奇怪的行为?
答案 0 :(得分:0)
显然,当您将时间选择器设置调用放在 onResume()中时,问题就解决了。
这真的很奇怪,因为onCreate也被调用旋转并且方法被击中, 但必须有一些控制本身的逻辑被调用,这导致了这一点。
所以这是“修复”:
@Override
protected void onResume()
{
super.onResume();
TimePicker picker = (TimePicker) findViewById(R.id.startTimePicker);
picker.setCurrentMinute(10);
picker.setCurrentHour(12);
}