1

以下代码在用户单击 EditText 时显示日期选择器(作为弹出对话框)。showDialog() 调用 onCreateDialog()。代码工作正常,除非它在片段中实现。在 Fragment 中,没有显示对话框。

edtTxtDateTime.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

 @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_DIALOG_ID:
                // Displaying Date & Time as a dialog

        }
        return null;
    }

我尝试使用 DialogFragment API 实现相同的行为,但是在单击 EditText 时无法获取对话框。

任何建议/提示都会有所帮助。

4

1 回答 1

0

确保您使用正确的上下文在片段代码中显示对话框。您需要使用父 Activity 的上下文。在您的 Fragment 中,您可以通过调用以下方法获取 Activity(和正确的上下文):

getActivity();
于 2012-05-03T20:08:58.860 回答