Попытка вызвать виртуальный метод для Попытка вызвать виртуальный метод android.widget.EditText.getText () для нулевой ссылки на объект - PullRequest
0 голосов
/ 05 июля 2018

Попытка получить значение Edit Text из EditText в диалоге, но получение этой ошибки снова и снова

Попытка вызвать виртуальный метод 'android.text.Editable android.widget.EditText.getText () 'для ссылки на пустой объект

Я надуваю вид на другое диалоговое окно, оно работает нормально, но всякий раз, когда я нажимаю кнопку "ОК" в диалоговом окне, я получаю сообщение об ошибке выше

LayoutInflater li = LayoutInflater.from(getContext());
                View promptsView = li.inflate(R.layout.custom_dimension_dialog, null);
                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                        getContext());
                // set prompts.xml to alertdialog builder
                alertDialogBuilder.setView(promptsView);
                alertDialogBuilder
                        .setCancelable(false)
                        .setPositiveButton("OK",
                                new OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        // get user input and set it to result
                                        // edit text
                                        widthEditText = findViewById(R.id.Width);
                                        heightEditText = findViewById(R.id.Height);
                                        String width = widthEditText.getText().toString();
                                        String height = heightEditText.getText().toString();
                                        Toast.makeText(mContext, "Values are: " + width + " " + height, Toast.LENGTH_SHORT).show();
//                                        WIDTH=width
//                                        HEIGHT=height;
                                    }
                                })
                        .setNegativeButton("Cancel",
                                new OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        dialog.cancel();
                                    }
                                }).show(); 

Ответы [ 3 ]

0 голосов
/ 05 июля 2018

Вы не предоставляете никакой возможности просмотра текста редактирования. Измените свой код таким образом

 widthEditText = promptsView.findViewById(R.id.Width);                                 
 heightEditText = promptsView.findViewById(R.id.Height);
0 голосов
/ 05 июля 2018
widthEditText = promptsView.findViewById(R.id.Width);
heightEditText = promptsView.findViewById(R.id.Height);

вам нужно использовать свой вид таким образом promptView.findviewbyId

0 голосов
/ 05 июля 2018

Вам нужно найти EditText из вашего диалогового окна, как.

widthEditText = promptsView.findViewById(R.id.Width);
heightEditText = promptsView.findViewById(R.id.Height);
...