如何在对话框中通过 id 查找 Edittext?

How to find Edittext by id in a dialog?

我有一个带有 EditText 的对话框,在那里,它要求一个钱包,然后用户编写它。

之后,这个钱包应该存储在一个String中,但是它说它是null。

Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference

如果我使用 Activity 中的 EditText,它工作正常。但是当我从对话框 EditText (eTW) 执行它时它失败了。

有我的代码。

private void showDialog(){
    Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.layout_walletdialog);
    dialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_window);

    ImageView btnClose = dialog.findViewById(R.id.btn_close);
    Button btnSend = dialog.findViewById(R.id.btn_yes);
    EditText wallet = (EditText) findViewById(R.id.eTW);
    String value;

如果在你的 walletdialog xml 布局文件中定义了 eTW,请替换

EditText wallet = findViewById(R.id.eTW);

EditText wallet = dialog.findViewById(R.id.eTW);