有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我将在Android上查询日历、时间选择器对话框

我只回答两个与Android相关的问题

我很想回答,非常感谢

一,

当您转换为java日历时,为什么​​不同

(前) 年份:1967年 月份:12 日期:31

Calendar calendar = Calendar.getInstance ();
calendar.set (Calendar.YEAR, year);
calendar.set (Calendar.MONTH, (month - 1));
calendar.set (Calendar.DATE, day);
calendar.set (Calendar.HOUR_OF_DAY, 0);
calendar.set (Calendar.MINUTE, 0);
calendar.set (Calendar.SECOND, 0);
calendar.set (Calendar.MILLISECOND, 0);

(版本2.3x)

输入:1967-12-31 00:00->;结果:1967-12-30 23:30(X)

输入:1968-10-01 00:00->;结果:1968-09-30 23:30(X)

输入:1968-10-02 00:00->;结果:1968-10-02 00:00(O)

在版本4.1.2中,所有值​​match,没有这样的问题

(第4.1.2版)

输入:1967-12-31 00:00->;结果:1967-12-31 00:00(O)

输入:1968-10-01 00:00->;结果:1968-10-01 00:00(O)

输入:1968-10-02 00:00->;结果:1968-10-02 00:00(O)

二,

当您从TimePicker*对话框*中选择(小时或分钟)时,我不希望弹出窗口(键盘输入)被打开

我现在该怎么办

我想请你回答两个问题

祝你今天愉快。 谢谢


共 (1) 个答案

  1. # 1 楼答案

    回答1:在我的例子中,值没有区别,我使用的是DialogFragment 这是我的代码:

    公共静态类DatePickerFragment扩展了DialogFragment 实现DatePickerDialog。OnDateSetListener{

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the current date as the default date in the picker
            final Calendar c = Calendar.getInstance();
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH);
            int day = c.get(Calendar.DAY_OF_MONTH);
    
            // Create a new instance of DatePickerDialog and return it
            return new DatePickerDialog(getActivity(), this, year, month, day);
        }
    
        public void onDateSet(DatePicker view, int year, int month, int day) {
            // Do something with the date chosen by the user
    
            Log.v(TAG,  "Year: " + year + " ,Month: "+ month + " ,Day: " + day );
    
    
        }
    }
    

    结果如下: 年:2014月:1日:25

    我测试的三个版本的Android(4.1.1、4.4.2、2.3.3)的值是相同的