解决方案 »

  1.   

    我记得Dialog是非阻塞的线程。应该不会有你说的这种情况啊。你能否贴下代码?你dialog弹出来之后,没做cancel操作吗?
      

  2.   

    除非你的showDialog里面的代码有报错,否则不会阻塞到那里,或者说你的showDialog里面的代码是不是需要较长时间执行
      

  3.   

    能把showDialog();方法中的代码贴一下吗?
      

  4.   


    dialog里面做了cancel操作了,代码执行时间也很短
    private void initDate() {
    date = (TextView) findViewById(R.id.date);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    date.setText(sdf.format(c.getTime()));
    date.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    showDialog(DATE_DIALOG_ID);
    //showDialog之后的代码就不执行了
    }
    }); }protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:
    return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
    mDay);
    }
    return null;
    } @Override
    protected void onPrepareDialog(int id, Dialog dialog) {
    switch (id) {
    case DATE_DIALOG_ID:
    ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);
    break;
    }
    }
    主要的代码就是这些,就是选择日期更新后,想刷新数据
      

  5.   

    注释后面的代码
    date.setText(sdate);
    adapter.setDate(date.getText().toString());
    adapter.notifyDataSetChanged();
      

  6.   

    switch (id) {
            case DATE_DIALOG_ID:
                return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
                        mDay);
            }
            return null;
        }
    这里加break试试
      

  7.   

    LZ 是想用dialog更新时间变化?  dialog一次当然只能显示一个值了  你要么多次弹出  要么就用surfaceview自己去写
      

  8.   

    没太看明白,是点击一个texitview弹出DatePickerDialog显示日期、之后textview中的日期变化了而再弹出的DatePickerDialog日期不变?
    new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay),这里的年月日是哪的数据?感觉和下面的adapter没啥关系