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 に答える