我正在用android做一个简单的闹钟,我想在我想要的任何时间设置闹钟,但我不知道怎么做。我有一个布局,其中我有timepicker,现在从这行代码alarmManager.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (5 * 1000),sender);我想从timepicker的布局中选择自己的时间。我引用了时间选择器
TimePicker addtime;
ddtime = (TimePicker) findViewById(R.id.addtime);如何实际获取timepicker中的时间值?
发布于 2012-05-11 18:08:02
您需要的是将您想要的数据保存在一些变量中,以便以后使用。安卓有你可以使用的TimePickerDialog和DatePickerDialog:
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
}
};不要忘记,如果您想要使用这两个对话框,则需要为每个对话框指定不同的id。
发布于 2012-02-17 08:13:13
你可能需要一个TimePickerDialog。
需要在您的类中定义侦听器:
private TimePickerDialog.OnTimeSetListener mTimeListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hour, int minute) {
mHour = hour;
mMinute = minute;
updateDisplay();
}
};在onCreate()中:
Button timeButton = (Button) findViewById(R.id.time_entry_button);
timeButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});在onCreateDialog()中:
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this, mTimeListener, mHour, mMinute, true);
}其中updateDisplay()是类中的一个方法,当用户选择了某个时间后将调用该方法。
发布于 2012-02-17 08:41:01
代码看起来不错,您只需要在上面给出的onTimeSet()方法中实现必要的代码;当您想要获取字符串timeString,然后将该字符串设置为按钮时,下面给出了一个通用示例:
private TimePickerDialog.OnTimeSetListener mTimeListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hour, int minute) {
updateTime(hour, minute);
}
};
public void updateTime(int hour, int minute) {
String timeString = new StringBuilder().append(String.valueOf(hour))
.append(":").append(String.valueOf(minute)).ToString();
btnEventTimeFrom.setText(timeString);
}https://stackoverflow.com/questions/9320979
复制相似问题