Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 警报对话框编辑文本不返回任何值_Java_Android - Fatal编程技术网

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

Java 警报对话框编辑文本不返回任何值,java,android,Java,Android,我有一个带有xml布局的警报对话框,它有一个编辑文本。当我写一些文字并按SAVE时, editText to字符串返回null。这是我的密码- AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); dialogView = inflat

我有一个带有xml布局的警报对话框,它有一个编辑文本。当我写一些文字并按SAVE时, editText to字符串返回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

                            }
                        })

我的编辑文本出现在
对话框\u 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);

alertDialogBuilder.setView(dialogView)&
alertDialogBuilder.setView(R.layout.dialog\u布局)…请只告诉我们两者中的一个…为什么
alertDialogBuilder.setView(R.layout.dialog\u layout)?尝试使用修剪。userInput.getText().toString().trim()@Opiatefuchs super谢谢你它成功了:)@Ratilal…应该如何防止
trim()
获得
null