0

我正在编写一些自定义对话框,但我在使用该showDialog方法时遇到了一些问题。出于某种原因,当我将要创建的 Dialog 的 id 传递给showDialog方法时,它会同时执行预期的情况和默认情况。

protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:

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

        return new DatePickerDialog(this,
                    mDateSetListener,
                    mYear, mMonth, mDay);
    default:
        return null;
    }
}
4

2 回答 2

1

break;在您的第一种情况下:

如果无法工作请参阅此http://www.vogella.de/articles/AndroidDialogs/article.html

于 2012-03-01T04:37:48.210 回答
1

使用以下代码更新您的代码,

DatePickerDialog dpd = null;

protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:

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

        dpd =  new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
    break;     // you forgot this line in your code
    default:
        return null;
    }
}
于 2012-03-01T04:40:09.007 回答