繁体   English   中英

警报对话框编辑文本不返回任何值

[英]alert dialog edit text returns no value

我有一个带有xml布局的警报对话框,并且它具有编辑文本。 当我写一些文本并按SAVE时,editText to String返回null。 这是我的代码-

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

        LayoutInflater inflater = getActivity().getLayoutInflater();
        dialogView = inflater.inflate(R.layout.dialog_layout, null);
        alertDialogBuilder.setView(dialogView);

        alertDialogBuilder.setView(R.layout.dialog_layout);

        // set dialog message
        alertDialogBuilder
                .setCancelable(false)
                .setPositiveButton("SAVE",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                EditText userInput = (EditText) dialogView.findViewById(R.id.editText);
                                dbUtils.insertCSVFileName(userInput.getText().toString());
                                Log.d("hi","vaqlue of edittext" + userInput.getText().toString());  //gives me null

                            }
                        })

我的编辑文本出现在dialog_layout.xml 为什么这个为空?

您的问题是您两次设置了布局:

alertDialogBuilder.setView(dialogView);
alertDialogBuilder.setView(R.layout.dialog_layout);

只需使用上述方法之一进行操作,然后删除其中一种即可。

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

    LayoutInflater inflater = getActivity().getLayoutInflater();
    dialogView = inflater.inflate(R.layout.dialog_layout, null);
    alertDialogBuilder.setView(dialogView);

    // set dialog message
    alertDialogBuilder
            .setCancelable(false)
            .setPositiveButton("SAVE",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            EditText userInput = (EditText) dialogView.findViewById(R.id.editText);
                            dbUtils.insertCSVFileName(userInput.getText().toString());
                            Log.d("hi","vaqlue of edittext" + userInput.getText().toString());  //gives me null

                        }
                    })

仅使用两种方法中的一种,您同时使用了两种方法:

alertDialogBuilder.setView(dialogView);     //good practice
alertDialogBuilder.setView(R.layout.dialog_layout);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM