0

我需要在alertDialog 中放入一个editText。据我所知,据我所知,需要创建一个自定义对话框。这真的是将editText放入alertDialog的唯一方法吗?我不想采取超出完成简单任务所需的步骤。最后应该是这样的:

------------------------
-Please enter your name-
- [                   ]-
-         (Save)       -
------------------------
4

3 回答 3

2
AlertDialog.Builder alert = new AlertDialog.Builder(this);

alert.setTitle("Title");
alert.setMessage("Message");

// Set an EditText view to get user input 
final EditText input = new EditText(this);
alert.setView(input);

这样您就不必创建新的自定义对话。

于 2012-09-17T21:39:45.180 回答
2

是的,这是目前执行此操作的正确(并且可能是唯一)方法。

像这样的东西:

final EditText input = new EditText(this);
AlertDialog.Builder alert = new AlertDialog.Builder(this)
    .setTitle("Please enter your name")
    .setView(input) // Use our EditText
    .setPositiveButton("Save", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // Save value of `input.getText()`
        }
    }).show();

这是我不时使用的此博客中代码的自定义版本。

于 2012-09-17T21:41:22.163 回答
1

你不仅可以放EditText,还可以放任何你想要的东西。只需为您想要放置的内容创建一个 XML 布局,然后按照链接中所示使用它:-

如何获得自定义的警报对话框,如图所示?

请参阅我给出的答案(Aamir Shah)

希望解释是有用的......

于 2012-10-04T07:43:23.083 回答