【发布时间】:2019-08-05 09:37:49
【问题描述】:
当我的时间选择器对话框出现时,我想选择两个不同的时间,但在它第一次保存后,时间选择器会保存之前选择的小时并设置为选择分钟。基本上,我想刷新小部件,以便在我第一次单击确认后,时间选择器设置为选择小时而不是分钟。
我尝试重新显示弹出窗口,以便重置小部件,并且它可以工作,但是由于我在弹出布局上有一些文本视图,并且以编程方式设置了边距,因此布局变得混乱,我想确定是否有一种更简单的方法,不需要重新配置我的布局。
时间选择器基本上与被调用的布局不同,它被称为对话框。
Dialog mydialog;
mydialog.setContentView(R.layout.timepickerpopup);
a[0] 在 on create 方法上设置为 true,在弹出布局配置之外
done.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT >= 23 && a[0]) {
hour[0] = timePicker.getHour();
min[0] = timePicker.getMinute();
timefrom.setText(String.format(Locale.getDefault(),
"%02d:%02d", hour[0], min[0]));
a[0] = false;
}
else if (Build.VERSION.SDK_INT >= 23 && !a[0]) {
hour[1] = timePicker.getHour();
min[1] = timePicker.getMinute();
timeuntil.setText(String.format(Locale.getDefault(),
"%02d:%02d", hour[1], min[1]));
mydialog.dismiss();
}
else if (a[0]) {
hour[0] = timePicker.getCurrentHour();
min[0] = timePicker.getCurrentMinute();
timefrom.setText(String.format(Locale.getDefault(),
"%02d:%02d", hour[0], min[0]));
a[0] = false;
}
else {
hour[1] = timePicker.getCurrentHour();
min[1] = timePicker.getCurrentMinute();
timeuntil.setText(String.format(Locale.getDefault(),
"%02d:%02d", hour[1], min[1]));
mydialog.dismiss();
}
}
});
【问题讨论】:
标签: java android android-timepicker