在Android中创建模式日期选择器对话框

在Android中创建模式日期选择器对话框,android,android-datepicker,Android,Android Datepicker,我有这段代码,工作正常,但窗口不是模态的,所以我无法得到更改后的日期。请给我一些建议或方法,提前谢谢 代码如下: final Calendar c = Calendar.getInstance(); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); DatePickerDialog dpd = new DatePickerD

我有这段代码,工作正常,但窗口不是模态的,所以我无法得到更改后的日期。请给我一些建议或方法,提前谢谢

代码如下:

final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);

DatePickerDialog dpd = new DatePickerDialog(this,
       new DatePickerDialog.OnDateSetListener() {

           public void onDateSet(DatePicker view, int year,
                                 int monthOfYear, int dayOfMonth) {

               TextView txtDate = null;
               txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);

           }

           public void onDateSet1(DatePicker view, int year,
                                  int monthOfYear, int dayOfMonth) { // TODO
               // Auto-generated
               // method stub

           }
       }, mYear, mMonth, mDay);

dpd.show();

message("message", "Mensaje", mYear + "/" + mMonth + "/" + mDay, this, context);

“更改后我无法获取日期”是什么意思?当显示日期的窗口打开时,程序继续运行,直到我获得新日期,它才会停止。对话框不是模态的。同样,行“message()”表示调用函数后的日期,日期选择器窗口在后面,消息在前面。我希望用户选择日期,然后..消息。哦,这一行在对话框显示之后,而不是数据被更改。首先选择日期,然后显示消息。就像一个模态对话框。为什么不将消息移动到onDateSet中呢?
private int storeYear = 0;
private int storeMonth = 0;
private int storeDay = 0;

private void  function openPicker(){
   final TextView txtDate  = findViewById(R.id.yourid);
  final Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR);
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog dpd = new DatePickerDialog(this,
            new DatePickerDialog.OnDateSetListener() {

                public void onDateSet(DatePicker view, int year,
                        int monthOfYear, int dayOfMonth) {

                   //TextView txtDate = null;
                    txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1)
                            + "-" + year);
                    storeYear = year;storeMonth = monthOfYear;storeDay = dayOfMonth;

    message("message", "Mensaje", mYear + "/" + mMonth + "/"
            + mDay, this, context);
                }

                public void onDateSet1(DatePicker view, int year,
                        int monthOfYear, int dayOfMonth) { // TODO
                                                            // Auto-generated
                                                            // method stub

                }
            }, mYear, mMonth, mDay);
    dpd.show();

}