TimePicker对话框,点击的EditText [英] TimePicker Dialog from clicking EditText
问题描述
我试着看这个例子不胜枚举,并已经问过这个问题,但没有提交任何code,我已经尽力了。
我已经有了一个datepicker会弹出,当用户点击的EditText字段
eReminderDate.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
//要显示当前日期,日期选择器
日历mcurrentDate = Calendar.getInstance();
INT mYear = mcurrentDate.get(Calendar.YEAR);
INT mMonth = mcurrentDate.get(Calendar.MONTH);
INT MDAY = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker;
mDatePicker =新DatePickerDialog(AddReminder.this,新OnDateSetListener(){
公共无效onDateSet(DatePicker的日期选择器,INT selectedyear,诠释selectedmonth,诠释selectedday){
// TODO自动生成方法存根
/ *您code得到的日期和时间* /
selectedmonth = selectedmonth + 1;
eReminderDate.setText(+ selectedday +/+ selectedmonth +/+ selectedyear);
}
},mYear,mMonth,MDAY);
mDatePicker.setTitle(选择日期);
mDatePicker.show();
}
});
我试着做了类似的方式TimePicker,但无法得到它的工作。这是我尝试让它工作
eReminderTime.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
日历mcurrentTime = Calendar.getInstance();
INT小时= mcurrentTime.get(Calendar.HOUR_OF_DAY);
INT分钟= mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker =新TimePickerDialog(AddReminder.this,新TimePickerDialog.OnTimeSetListener(){
@覆盖
公共无效onTimeSet(TimePicker timePicker,诠释selectedHour,诠释selectedMinute){
eReminderTime.setText(selectedHour +:+ selectedMinute);
}
},小时,分钟);
mTimePicker.setTitle(选择时间);
mTimePicker.show();
}
});
是不可能做到这一点类似于我这样做是为了DatePicker的方式?
我已经试过甚至只是做一个TimePicker弹出一次的EditText场点击此code。
eReminderTime.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
的ShowDialog(TIME_DIALOG_ID);
}
});
由于某些原因,当我进到这一点的Android Studio中的的ShowDialog被拿下了。
谁能给我,我要去哪里错了提示?或者,我只是将不得不使用一个自定义DialogFragment?
eReminderTime.setText(+ selectedHour +:+ selectedMinute);
您一个+之间和选定小时的setText方法只需要一个字符串,所以你需要连接所有的部分(第一引号可能不必要的)。
失踪 eReminderTime.setOnClickListener(新OnClickListener(){
@覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
日历mcurrentTime = Calendar.getInstance();
INT小时= mcurrentTime.get(Calendar.HOUR_OF_DAY);
INT分钟= mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker =新TimePickerDialog(AddReminder.this,新TimePickerDialog.OnTimeSetListener(){
@覆盖
公共无效onTimeSet(TimePicker timePicker,诠释selectedHour,诠释selectedMinute){
eReminderTime.setText(selectedHour +:+ selectedMinute);
}
},小时,分钟,真); //是24小时时间
mTimePicker.setTitle(选择时间);
mTimePicker.show();
}
});
这应该可以解决你的第二个错误,你没有提供的最后一个参数。 <一href="http://developer.android.com/reference/android/app/TimePickerDialog.html#pubctors">TimePickerDialog构造函数
I've tried looking at numerous examples of this and already asked this question but didn't submit any of the code that I had tried.
I've already got a DatePicker which pops up when the user clicks on the EditText field
eReminderDate.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//To show current date in the datepicker
Calendar mcurrentDate = Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker;
mDatePicker = new DatePickerDialog(AddReminder.this, new OnDateSetListener() {
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
// TODO Auto-generated method stub
/* Your code to get date and time */
selectedmonth = selectedmonth + 1;
eReminderDate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear);
}
}, mYear, mMonth, mDay);
mDatePicker.setTitle("Select Date");
mDatePicker.show();
}
});
I've tried doing a TimePicker in a similar way but was unable to get it working. This is my attempt at getting it working
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
eReminderTime.setText( ""selectedHour + ":" + selectedMinute);
}
}, hour, minute);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
Is it impossible to do it similar to the way I did it for DatePicker?
I've tried even just making a TimePicker pop up once the EditText field is clicked with this code.
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(TIME_DIALOG_ID);
}
});
For some reason when I entered that into Android Studio the 'showDialog' was scored out.
Can anyone give me tips on where I'm going wrong? Or am I just going to have to use a Custom DialogFragment?
eReminderTime.setText( "" + selectedHour + ":" + selectedMinute);
Your missing a + between "" and selected hour, setText methods only take a single string, so you need to concatenate all the parts (the first quotes are likely unnecessary).
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
eReminderTime.setText( selectedHour + ":" + selectedMinute);
}
}, hour, minute, true);//Yes 24 hour time
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
That should fix your second error, you weren't providing the last parameter. TimePickerDialog Constructors
这篇关于TimePicker对话框,点击的EditText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!