相关疑难解决方法(0)

TimePickerDialog和AM或PM

我有一个将is24Hour设置为false的TimePickerDialog,因为我想向最终用户呈现更熟悉的12小时格式.设置小时,分钟和AM PM指示器并返回时间时,如何确定最终用户是选择了AM还是PM?

这就是我对听众的看法:

private TimePickerDialog.OnTimeSetListener mTimeSetListener =
      new TimePickerDialog.OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, 
      int minute) {
     mHour = hourOfDay;
     mMinute = minute;
    // mIsAM = WHERE CAN I GET THIS VALUE
    }
};
Run Code Online (Sandbox Code Playgroud)

android timepicker

51
推荐指数
7
解决办法
5万
查看次数

Datepicker和timepicker - 设置最大值和最小值

我想做一个类似提醒应用程序的东西.我想允许用户选择现在不是的日期和时间(至少从现在起5分钟),我还想禁止用户选择距离太远的日期 - 例如30天.我创建了datePicker和timePicker,使它们在按钮点击时弹出,但找不到设置最小值和最大值的方法.

 public void showDateDialog() {
 btnDate = (Button) findViewById(R.id.buttonDate);

    btnDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(DATE_DIALOG_ID);
        }
    });
}
    public void showTimeDialog() {
    btnTime = (Button) findViewById(R.id.buttonTime);

    btnTime.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID);
        }
    });
}
@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DATE_DIALOG_ID:
            // create a new DatePickerDialog with values you want to show
            return new DatePickerDialog(this, datePickerListener, yearSet, monthSet, daySet);
        // create a new TimePickerDialog with …
Run Code Online (Sandbox Code Playgroud)

java android datepicker timepicker

9
推荐指数
2
解决办法
2万
查看次数

android:TimePickerDialog阻止用户选择过去的时间,并可以选择具有新日期的未来时间

我正在使用此链接Android TimePickerDialog设置最大时间.

我是android新手.借助此代码,我无法选择过去的时间,但我们无法选择未来的时间.在timepickerdialog模式中选择12时,根据第二天而不是过去一天自动更改为am.

java android android-fragments android-studio android-timepicker

7
推荐指数
2
解决办法
1万
查看次数

如何在时间选择器中设置最大和最小时间?

我有 12:00 PM 到 12:00 AM 的时间间隔。我想在时间选择器对话框中设置这个时间间隔。在时间选择器中禁用 12:00 PM 之前和 12:00 AM 之后的时间。我不知道如何在时间选择器对话框中设置时间。有人知道可以帮我解决这个问题吗?

时间选择器

 private void showTimePicker(){

      Time_picker time = new Time_picker();

      Bundle args = new Bundle();
      args.putInt("hours", c.get(Calendar.HOUR_OF_DAY)+2);
      args.putInt("minute", c.get(Calendar.MINUTE)+30);

      time.setArguments(args);
      time.setCallBack(ontime);
      time.show(((FragmentActivity) getActivity()).getSupportFragmentManager(), "Time Picker");

 }

 OnTimeSetListener ontime = new OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // TODO Auto-generated method stub

        try {       
               String _24HourTime = String.valueOf(hourOfDay)+":"+String.valueOf(minute);
               SimpleDateFormat _24HourSDF = new SimpleDateFormat("HH:mm");
               SimpleDateFormat _12HourSDF = new SimpleDateFormat("hh:mm a");
               Date _24HourDt = _24HourSDF.parse(_24HourTime); …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment android-timepicker

5
推荐指数
1
解决办法
7126
查看次数

限制时间选择器的时间范围

如何控制TimePicker,我只想显示从上午08:00到下午02:00的时间范围(从上午08:00到下午02:00隐藏所有)

我已经编写了完整的代码来显示TimePicker和自定义时间.

这是我的代码:

         case DIALOG_TIME:
            final Calendar c = Calendar.getInstance();
            int hour = c.get(Calendar.HOUR_OF_DAY);
            int minute = c.get(Calendar.MINUTE);

            // Create a new instance of TimePickerDialog and return it
            return new TimePickerDialog(this, lisTime, hour, minute,
            DateFormat.is24HourFormat(MainActivity.this));

        TimePickerDialog.OnTimeSetListener lisTime = new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            // TODO Auto-generated method stub
            String meridiem = "";
            nim = minute;
            Calendar datetime = Calendar.getInstance();
            datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
            datetime.set(Calendar.MINUTE, minute);

            if (datetime.get(Calendar.AM_PM) == Calendar.AM)
                meridiem = "AM";
            else if …
Run Code Online (Sandbox Code Playgroud)

java android datetimepicker jodatime android-timepicker

5
推荐指数
1
解决办法
9938
查看次数

我们可以在棒棒糖设备中显示旧式时间选择器(Pre Lollipop Time Picker)

我想在棒棒糖设备中显示较旧的时间选择器(如前棒棒糖设备时间选择器).这可能吗?

android android-timepicker android-5.1.1-lollipop

4
推荐指数
1
解决办法
4463
查看次数

如何禁用android中的计时器选择器对话框上的过去时间

这是我的代码.请解释如何使用时间选择器对话框禁用过去的时间,并给出一些代码如何在此代码中禁用过去的时间以及如何使用android时间选择器对话框应用它.时间选择器对话框类没有任何setMinTime方法以及如何获取它.

time.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(
                    FillServiceDetailActivity.this,
                    new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker timePicker,
                                              int selectedHour, int selectedMinute) {
                            String AM_PM;
                            int hour;
                            String[] sp=currentTime.split(":");

                            int hour1=Integer.parseInt(sp[0]);
                            int min1=Integer.parseInt(sp[1]);
                            //Toast.makeText(FillServiceDetailActivity.this,"selected hour:\t"+String.valueOf(selectedHour),Toast.LENGTH_LONG).show();
                            String timeSet = "";
                            if (selectedHour > 12 && hour1>12) {
                                selectedHour -= 12;
                                hour1-=12;
                                timeSet = "PM";
                            } else if …
Run Code Online (Sandbox Code Playgroud)

android android-timepicker

4
推荐指数
1
解决办法
7094
查看次数

阻止用户选择过去时间 - TimePickerDialog

重要编辑:我已经做了一些搜索,似乎OnTimeChangedListener不会在Android 5.0(API 21)中触发.Gustavo的答案将适用于API 20或更低版本,以及我测试过的API 22.(来源)

我想阻止用户输入当前时间之前的时间.我使用before提供的方法检查有效时间Date.如何防止对话框在此有效性检查中接受无效时间?

我在初始化所选时间(作为a Date)时省略了多余的代码.

final Calendar mcurrentTime = Calendar.getInstance();
final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
final int minute = mcurrentTime.get(Calendar.MINUTE);
final TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {

        //PSEUDO: Date selectedDateTime init here

        if (selectedDateTime.before(mcurrentTime.getTime())) {
            // prevent user from selecting time
        }
    }
}, hour, minute, true);//true = 24 hour time
mTimePicker.setTitle("Select Time");
mTimePicker.show(); 
Run Code Online (Sandbox Code Playgroud)

datetime android date timepicker android-dialog

3
推荐指数
1
解决办法
7603
查看次数