[英]Set the time of time picker dialogue to the selected time
我的设置屏幕上有一个时间选择器对话框。 当用户单击时间时,将出现时间选择器对话框,并且用户选择时间。 但是,当用户再次单击时间选择器时,时间选择器对话框将显示当前时间而不是所选时间。 这是我到目前为止所做的。
mreminder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
final int[] hour = {mcurrentTime.get(Calendar.HOUR_OF_DAY)};
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(SettingsActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
int hour = selectedHour;
int minutes = selectedMinute;
String timeSet = " ";
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12)
timeSet = "PM";
else
timeSet = "AM";
String min = "";
if (minutes < 10)
min = "0" + minutes;
else
min = String.valueOf(minutes);
// Append in a StringBuilder
String aTime = new StringBuilder().append(hour).append(':')
.append(min).append(" ").append(timeSet).toString();
mreminder.setText(aTime);
pref.savePref(REMINDER, aTime);
}
}, hour[0], minute, false);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
有人可以告诉我下次用户单击时如何将时间选择器设置为选定的时间。
将选定的时间存储在sharedPreferences中,然后在onClick
事件中检查sharedPreference
是否包含某些内容。 如果有东西,然后从那里加载数据,您可以执行以下操作:
int hours,mins;//global variables;
mreminder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int h = Integer.parseInt(sharedPreference.getString("HOUR","0));
int m = Integer.parseInt(sharedPreference.getString("MIN","0"));//"0" is the default value if nothing is stored;
if(h>0){
hours = h;
mins = m;
}else{
Calendar mcurrentTime = Calendar.getInstance();
hours = mcurrentTime.get(Calendar.HOUR_OF_DAY);
mins = mcurrentTime.get(Calendar.MINUTE);
}
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(SettingsActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
int hour = selectedHour;
int minutes = selectedMinute;
String timeSet = " ";
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12)
timeSet = "PM";
else
timeSet = "AM";
String min = "";
if (minutes < 10)
min = "0" + minutes;
else
min = String.valueOf(minutes);
// Append in a StringBuilder
String aTime = new StringBuilder().append(hour).append(':')
.append(min).append(" ").append(timeSet).toString();
mreminder.setText(aTime);
pref.savePref(REMINDER, aTime);
}
}, hours, mins, false);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
这样可以解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.