如何在不显示timePicker
对话框的情况下获取所选时间值?
下面的图片是我的闹钟设计布局。单击按钮时,我希望它显示所选值而不是弹出timePicker对话框。
alarm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
// set time picker as current time
return new TimePickerDialog(this, timePickerListener, hour, minute,
false);
}
return null;
}
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minutes) {
// TODO Auto-generated method stub
hour = hourOfDay;
minute = minutes;
updateTime(hour,minute);
}
};
// Used to convert 24hr format to 12hr format with AM/PM values
private void updateTime(int hours, int mins) {
String timeSet = "";
if (hours > 12) {
hours -= 12;
timeSet = "PM";
} else if (hours == 0) {
hours += 12;
timeSet = "AM";
} else if (hours == 12)
timeSet = "PM";
else
timeSet = "AM";
String minutes = "";
if (mins < 10)
minutes = "0" + mins;
else
minutes = String.valueOf(mins);
// Append in a StringBuilder
String aTime = new StringBuilder().append(hours).append(':')
.append(minutes).append(" ").append(timeSet).toString();
Toast.makeText(getApplicationContext(),aTime,Toast.LENGTH_LONG).show();
}
}
我应该在按钮点击中更改哪里?谢谢。
答案 0 :(得分:0)
点击内部按钮,删除
showDialog(TIME_DIALOG_ID);
并替换为
int hour = alarmTimePicker.getCurrentHour();
int min = alarmTimePicker.getCurrentMinute();
updateTime(hour,min);
alarmTimePicker遵循用于初始化timePicker
的{{1}}名称。
例如:
timePicker
删除下面的代码,因为不需要对话框。
TimePicker alarmTimePicker = (TimePicker) findViewById(R.id.timePicker);