AlertDialog中的Edittext作为全局变量

时间:2014-03-07 11:04:52

标签: android android-edittext android-alertdialog

我有一个AlertDialog,里面有一个EditText,用这种方式编写:

final EditText input = new EditText(this);
alert.setView(input);

“问题”是我无法在对话框外使用此EditText的变量input。我尝试将变量声明为private final EditText input;为全局,但它返回一些错误。我该怎么办?

1 个答案:

答案 0 :(得分:0)

这对您有用:

android-prompt-user-input-dialog-example

button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                // get prompts.xml view
                LayoutInflater li = LayoutInflater.from(context);
                View promptsView = li.inflate(R.layout.prompts, null);

                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                        context);

                // set prompts.xml to alertdialog builder
                alertDialogBuilder.setView(promptsView);

                final EditText userInput = (EditText) promptsView
                        .findViewById(R.id.editTextDialogUserInput);

                // set dialog message
                alertDialogBuilder
                    .setCancelable(false)
                    .setPositiveButton("OK",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                        // get user input and set it to result
                        // edit text
                        result.setText(userInput.getText());
                        }
                      })
                    .setNegativeButton("Cancel",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                        dialog.cancel();
                        }
                      });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();

                // show it
                alertDialog.show();

            }
        });