【问题标题】:Issue while displaying Dialog on Android Fragment在 Android 片段上显示对话框时出现问题
【发布时间】:2012-05-03 20:03:58
【问题描述】:

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

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

【问题讨论】:

标签: android android-layout


【解决方案1】:

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

getActivity();

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多