您如何在alertdialog中引用EditText?

K. *_*Lok 3 android android-edittext android-alertdialog

这是我的代码:

public void openDialog(){

    final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

    AlertDialog alert = alertDialogBuilder.create();
    final EditText a = (EditText) alert.findViewById(R.id.kekekeke);

    LayoutInflater inflater = getLayoutInflater();
    alertDialogBuilder.setView(inflater.inflate(R.layout.list_example, null));
    alertDialogBuilder
        .setMessage("Enter a New Name")
        .setPositiveButton("Edit Name", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                myRef.child(Utils.object.getKey()).child("sfasf").setValue(a.getText().toString());
            }
        });
}

Run Code Online (Sandbox Code Playgroud)

我的问题是我得到以下错误:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.text.Editable android.widget.EditText.getText()'

我很困惑,因为我认为我已经通过进行了访问edittext

Rah*_*ana 5

您可以像下面这样引用

LayoutInflater inflater = getLayoutInflater();
View v = inflater.inflate(R.layout.list_example, null);
EditText a = (EditText) v.findViewById(R.id.kekekeke);
alertDialogBuilder.setView(v);
Run Code Online (Sandbox Code Playgroud)