Java 如何在SharedReference和错误句柄中实现DatePicker对话框?

Java 如何在SharedReference和错误句柄中实现DatePicker对话框?,java,android,date,datepicker,Java,Android,Date,Datepicker,我使用下面的代码创建了一个日期选择器对话框,当用户单击编辑文本时,我已经厌倦了将日期保存为共享首选项中的字符串并将其加载为字符串,但是当用户再次关闭并打开应用程序时,我收到一个关于nullObject引用的错误,我如何处理该错误 Calendar myCalendar = Calendar.getInstance(); DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { @O

我使用下面的代码创建了一个日期选择器对话框,当用户单击编辑文本时,我已经厌倦了将日期保存为共享首选项中的字符串并将其加载为字符串,但是当用户再次关闭并打开应用程序时,我收到一个关于nullObject引用的错误,我如何处理该错误

Calendar myCalendar = Calendar.getInstance();

DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
        int dayOfMonth) {
    // TODO Auto-generated method stub
    myCalendar.set(Calendar.YEAR, year);
    myCalendar.set(Calendar.MONTH, monthOfYear);
    myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
    updateLabel();
}

};

   edittext.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        new DatePickerDialog(classname.this, date, myCalendar
                .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                myCalendar.get(Calendar.DAY_OF_MONTH)).show();
    }
});

  private void updateLabel() {

String myFormat = "MM/dd/yy"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

edittext.setText(sdf.format(myCalendar.getTime()));
}
我已经厌倦了错误处理的代码,但它不起作用:

if (TextUtils.isEmpty(edittext.getText().toString())) {
                edittext.setError("Please select Date");
            }
要保存我使用代码的日期,请执行以下操作:

String currentDate = sdf.format(DCal.getTime());
SharedPreferences Dsave = getSharedPreferences(DateSave, this.MODE_PRIVATE);
        SharedPreferences.Editor editor = Dsave.edit();

        editor.putString("Date", currentDate);
editor.apply();
为了加载,我使用了:

 SharedPreferences Dload = getSharedPreferences(DateSave, Context.MODE_PRIVATE);
St_Date = Load.getString("Date", "");

edittext.setText(St_Date);

您得到的错误日志是什么?无法调用nullobject上的方法,我知道这是因为当数据加载到edittext中时,日期选择器为null,但edittext不为null,我如何创建可以检测空日期选择器的错误处理方法?对于您将来的问题,请始终将
logcat
中的
错误日志
添加到问题中,因为正确理解问题很有用。根据你现在提供的信息,没有人能说出任何能迅速解决你问题的事情。我想这个链接会对你有所帮助。可能重复no,因为我了解问题所在,但是如果对象为null,我不知道如何错误处理datepicker对话框