【问题标题】:Android DatePicker's date saving and loadingAndroid DatePicker 日期保存和加载
【发布时间】:2015-08-13 21:36:46
【问题描述】:

我正在尝试将Datepicker 的日期保存到文件中,并在打开应用程序时从上次读取它并相应地设置日期(如果这是第一次并且没有保存文件已经,将其设置为 2000 年 1 月 1 日)。除了 DatePicker 之外,所有小部件(例如 editText、名称、性别等)都可以正常工作。

由于某些原因,它不起作用。有人可以帮忙吗?文件IO部分不用担心;我猜可能有一些Calendar/Date 兼容性问题。

加载时:

Date BD=new Date(2000,0,1);
        // Loading (w/o exception handling code):
        try {
            FileInputStream fis = this.openFileInput(fileName);
            ObjectInputStream is = new ObjectInputStream(fis);
            Object[] formData = (Object[]) is.readObject();
            is.close();
            fis.close();

            // parse data from array
        BD=(Date) formData[0];
//there are other fields as well

    } catch (FileNotFoundException e) {
        // TODO if for the first time- No data file exists
        // sets initial default value
    } 
    catch (IOException e) {
    } 
    catch (ClassNotFoundException e) {
    }

    //set value for BD
    final DatePicker BDDatePicker = (DatePicker) findViewById(R.id.datePickerBD);
    BDDatePicker.updateDate(BD.getYear(), BD.getMonth(), BD.getDate());

为了节省:

    final DatePicker BDdatePicker = (DatePicker) findViewById(R.id.datePickerBD);
    Date BD= getDateFromDatePicker(BDdatePicker);
    Object [] formData=new Object [7];

    formData [0]=BD;


    //Saving (w/o exception handling code):
    FileOutputStream fos;
    try {
        fos = this.openFileOutput(fileName, Context.MODE_PRIVATE);
        try {
            ObjectOutputStream os = new ObjectOutputStream(fos);
            os.writeObject(formData);
            fos.close();
            os.close();
        } catch (IOException e) {
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
    }

【问题讨论】:

    标签: android datepicker android-datepicker


    【解决方案1】:

    我将所有内容都转换为 Calendar 并避免使用 Date 的已弃用方法。它已修复(Date.getYear() 给出了一个两位数的YY,应该加上 1900)。

    【讨论】:

      猜你喜欢
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多