我想在我的时间选择器对话框出现时选择两个不同的时间,但是在第一次保存后,时间选择器会保存以前选择的小时,并设置为选择分钟。基本上,我想刷新小部件,以便在单击以确认第一次设置时间选择器后选择小时而不是分钟。
我尝试重新显示弹出窗口,以便将小部件重置,并且可以正常工作,但是由于我在弹出式布局上有一些文本视图,并且以编程方式设置了边距,因此布局被弄乱了,我想确定是否有一种更简单的方法,不需要重新配置我的布局。
时间选择器基本上与被称为且被称为对话框的布局不同。
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();
}
}
});
答案 0 :(得分:0)
我最终使用了2个不同的时间选择器,并在它们之间进行切换以获得我想要的2个不同的小时。
try {
if (typeof JSON.parse(x) !== 'boolean') {
throw new Error('x must be boolean');
}
} catch (e) {
throw new Error('x must be boolean');
}
如果有人需要,这里是代码:
TimePicker timePicker1 = myDialog.findViewById(R.id.timePicker1);
TimePicker timePicker2 = myDialog.findViewById(R.id.timePicker2);
在我编写的代码的另一部分,您可以通过按其文本(从/直到)来选择要设置的时间,这就是为什么在关闭对话框之前我需要a [0]为真(所以两次除非您取消,否则将在完成时设置)。
由于这是我的新手,如果有人知道我的问题的答案或对我的代码进行了一些改进,请在此处共享它。