Asa*_*bal 2 android timepicker
我想通过timePickerDialog获取AM/PM值.我的代码是这样的,它通过timepickerdialog通过用户输入并设置警报.在这里我得到用户输入
datetime = Calendar.getInstance();
new TimePickerDialog(this,this,datetime.get(Calendar.HOUR),datetime.get(Calendar.MINUTE),false).show();
Run Code Online (Sandbox Code Playgroud)
现在当onTimeSet函数调用时,我可以获得用户选择的小时和分钟,但无法获得用户选择的AM/PM值.这是其他代码
public void onTimeSet(TimePicker view, int hourOfDay, int minute) { try { Calendar time = Calendar.getInstance();
String am_pm;
if (datetime.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
time.set(Calendar.HOUR, hourOfDay);
time.set(Calendar.MINUTE, minute);
//time.set(Calendar.SECOND, 0);
//time.set(Calendar.MILLISECOND, 0);
//time.set(Calendar.AM_PM,datetime.PM);
AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmMgr.set(AlarmManager.RTC_WAKEUP,time.getTimeInMillis(), pendingIntent);
Toast.makeText(this, "Alarm Set", Toast.LENGTH_long);
Run Code Online (Sandbox Code Playgroud)
克里特在你的监听器中的新日历实例,如下所示
Calendar datetime = Calendar.getInstance();
c.set(Calendar.HOUR, mHour);
c.set(Calendar.MINUTE, mMinute);
if (datetime.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM) {
am_pm = "PM";
if (hourOfDay > 12)
hourOfDay = hourOfDay - 12;
}
Run Code Online (Sandbox Code Playgroud)
更新 :
Calendar mCalendar = Calendar.getInstance();
mHour = mCalendar.get(Calendar.HOUR_OF_DAY);
mMinute = mCalendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(mActivity, mTimeSetListener, mHour, mMinute, false);
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, mMinute);
SimpleDateFormat mSDF = new SimpleDateFormat("hh:mm a");
String time = mSDF.format(mCalendar.getTime());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8600 次 |
| 最近记录: |