对话框的样式,如EditTextPreference

时间:2011-08-23 23:43:22

标签: android dialog

有没有办法在 PreferenceActivity 之外的 EditTextPreference 中进行对话? 假设我希望此对话框出现在我的主活动中的按钮单击上。

我尝试使用自定义布局构建 Dialog ,但我不知道如何使其与 EditTextPreference 完全相同。

Screenshot of the window I'm talking about

1 个答案:

答案 0 :(得分:2)

当然,您基本上只需要AlertDialog作为子视图EditText。 简短的例子:

AlertDialog.Builder adb = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
adb.setTitle("My title");
adb.setView(input);
adb.setPositiveButton("Ok", new OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                String inputText = input.getText().toString();
                // Do something with the input here             
            }

        });
adb.setNegativeButton("Cancel", null);
adb.show();

您在此处所做的只是在代码中创建EditText实例,并通过setView()将其设置为对话框内容。只需将其设为最终版,以便您可以在此示例中从匿名OnClickListener访问它。当然你可以稍微重构一下,但我认为它已经非常方便了。

this在此处引用Context。由于您从Activity(扩展Context)调用对话框,因此您应该没问题。