在Android Fragment上显示Dialog时出现问题

时间:2012-05-03 20:03:58

标签: android android-layout

以下代码在用户单击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时无法获取对话框。

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

1 个答案:

答案 0 :(得分:0)

确保使用正确的上下文在Fragment代码中显示对话框。您需要使用父Activity的上下文。在Fragment中,您可以通过调用:

来获取Activity(和正确的上下文)
getActivity();