Android DatePickerDialog等待解雇

Android DatePickerDialog等待解雇,android,for-loop,wait,dismiss,datepickerdialog,Android,For Loop,Wait,Dismiss,Datepickerdialog,今天,imma尝试开发一个简单的应用程序,它将要求用户通过按钮使用DatePickerDialog插入2个日期,然后在数据库中执行查询: Button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Da = new DatePickerDialog(MainActivity.this, DADateS

今天,imma尝试开发一个简单的应用程序,它将要求用户通过按钮使用DatePickerDialog插入2个日期,然后在数据库中执行查询:

        Button.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {


          Da = new DatePickerDialog(MainActivity.this, DADateSetListener, 2014, 8, 24);
          Da.show();
          Da.setTitle("Date FROM");

          A = new DatePickerDialog(MainActivity.this, ADateSetListener, 2014, 10, 24);

          A.show();
          A.setTitle("Date TO");


          //Erase the List View
          List.setAdapter(null);

          prepareProgressBar();
          query();

        }

    });
我唯一的问题是: 如何等待DatePickerDialog关闭或等待用户输入输入,然后执行查询?

Per:

我们建议您使用DialogFragment来托管每个时间或日期选择器

文档包括一个扩展DialogFragment的示例类,位于:

您可以再次这样显示,代码来自:


另外,作为一个额外的好处,这个对话框确实是您在说“等待解雇”时想要的。这是一个简单的对话框,我不明白您为什么不使用默认侦听器:

DatePickerDialog dpd;
dpd.setOnDismissListener(new DialogInterface.OnDismissListener() {
    @Override
    public void onDismiss(DialogInterface dialog) {
        // Handle dismiss
    }
});
dpd.setOnKeyListener(new DialogInterface.OnKeyListener() {
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        // Handle clicks
        return false;
    }
});

谢谢,我来试试。谢谢,我来试试。
public void showTimePickerDialog(View v) {
    DialogFragment newFragment = new TimePickerFragment();
    newFragment.show(getSupportFragmentManager(), "timePicker");
}
DatePickerDialog dpd;
dpd.setOnDismissListener(new DialogInterface.OnDismissListener() {
    @Override
    public void onDismiss(DialogInterface dialog) {
        // Handle dismiss
    }
});
dpd.setOnKeyListener(new DialogInterface.OnKeyListener() {
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        // Handle clicks
        return false;
    }
});