【发布时间】: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