开发者社区> 问答> 正文

弹出输入对话框,无法获取到输入内容?获取到的EditText控件却为空。:报错

为什么我的弹出输入对话框,无法获取到输入内容?获取到的EditText控件却为空。

布局文件layout/alert.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ffffffff"
    android:orientation="vertical" >

    
    <EditText
        android:id="@+id/alert_pass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码"
        android:minWidth="100dip" />

</LinearLayout>


Java代码:
        AlertDialog.Builder bulider = new AlertDialog.Builder(this);
        LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.alert,
                (ViewGroup) findViewById(R.id.dialog));
        bulider.setTitle("修改密码").setView(layout)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                        EditText et_password = (EditText) findViewById(R.id.alert_pass);
                        Toast.makeText(getApplicationContext(),
                                et_password.getText().toString(),
                                Toast.LENGTH_LONG).show();
                    }
                }).show();

展开
收起
kun坤 2020-06-06 00:17:41 822 0
1 条回答
写回答
取消 提交回答
  • final View layout = .....

    EditText et_password = (EditText) layout.findViewById(R.id.alert_pass);

    ######

    引用来自“kenping”的评论

    final View layout = .....

    EditText et_password = (EditText) layout.findViewById(R.id.alert_pass);

    完美的答案!大神!非常感谢!

    2020-06-06 00:17:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载