Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Android显示对话框?_Java_Android_Android Alertdialog - Fatal编程技术网

Java 如何使用Android显示对话框?

Java 如何使用Android显示对话框?,java,android,android-alertdialog,Java,Android,Android Alertdialog,这里没有人。浏览了谷歌的开发者参考资料,但没有找到足够的细节让我理解。我试图在点击操作栏项目时显示一个对话框 我有两门课。第一个是DialogFragment,它使用带有正按钮和负按钮的AlertDialog生成器 第二类是活动,我想在其中调用DialogFragment并显示对话框,但是当我尝试在OnOptions ItemSelected函数下使用以下代码执行此操作时,我会: DialogFragment newFragment = new CreateWordListDialog();

这里没有人。浏览了谷歌的开发者参考资料,但没有找到足够的细节让我理解。我试图在点击操作栏项目时显示一个对话框

我有两门课。第一个是DialogFragment,它使用带有正按钮和负按钮的AlertDialog生成器

第二类是活动,我想在其中调用DialogFragment并显示对话框,但是当我尝试在OnOptions ItemSelected函数下使用以下代码执行此操作时,我会:

DialogFragment newFragment = new CreateWordListDialog();
            newFragment.show(getSupportFragmentManager(), "createWordList");

第二行出现“无法解决方法”行错误。这条线应该放在哪里?我一定是遗漏了什么。

在函数
OnOptionsItemSelected
中,您可以构建AlertDialog,无需为此创建其他类

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.title) //
        .setMessage(R.string.message) //
        .setPositiveButton(getString(R.string.positive), new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // TODO
                dialog.dismiss();
            }
        }) //
        .setNegativeButton(getString(R.string.parking_no_button), new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // TODO
                dialog.dismiss();
            }
        });
builder.show();

在Android studio中,默认情况下,Android.support.v4等不会被屏蔽。因此,要么手动添加这些依赖项,要么使用
getFragmentManager()
而不是
getSupportFragmentManager()
,问题就会得到解决

没有这样的方法
Fragment.show()
,因为
Fragment
不是一个
警报对话框
;您一定在想象
AlertDialog.show()
方法。是的,这是一种更好的方法