Android 是否有用于输入文本、列表等的内置对话框。。。像内置的偏好屏幕?

Android 是否有用于输入文本、列表等的内置对话框。。。像内置的偏好屏幕?,android,dialog,android-preferences,Android,Dialog,Android Preferences,在首选项片段中,当您单击EditTextPreference或ListPreference或其他项时。。。它会自动打开一个对话框,允许根据您的设置进行输入或选择 如果您没有使用预碎片。。。。但是编写自己的输入屏幕时,是否有可以调用的内置对话框,或者我们必须从头开始创建自己的对话框?是的,您必须从头开始创建它。隐马尔可夫模型。。不是从头开始的,因为您有AlertDialog.Builder、DialogFragment、ProgressDialog、DatePickerDialog、TimePic

在首选项片段中,当您单击EditTextPreference或ListPreference或其他项时。。。它会自动打开一个对话框,允许根据您的设置进行输入或选择


如果您没有使用预碎片。。。。但是编写自己的输入屏幕时,是否有可以调用的内置对话框,或者我们必须从头开始创建自己的对话框?

是的,您必须从头开始创建它。隐马尔可夫模型。。不是从头开始的,因为您有AlertDialog.Builder、DialogFragment、ProgressDialog、DatePickerDialog、TimePickerDialog。创建对话框。请查看对话框


但与首选项不同,xml元素不会神奇地为您提供这些对话框

你可以试试。它由许多标准对话框组成,如输入文本、列表项和其他对话框。

您必须自己构建它们,尽管大部分代码可以很容易地从本文中复制,只需稍作修改:

其中包括从列表中选择项目。对于文本字段,您需要做一些稍微不同的操作。这里有一个例子。在活动中使用它:

    //First, set these variable to what you want
    String title = "ENTER A TITLE HERE";
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(title);

    // Set up the input
    final EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_TEXT);
    builder.setView(input);

    // Set up the buttons
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            String text = input.getText().toString();
            //text is the String the user inputted, use it for what you need here
        }
    });
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //This means the user hit Cancel instead of OK
        }
    });

    AlertDialog dialog = builder.create();
    dialog.setCanceledOnTouchOutside(true);
    dialog.show();