NullPointerException при вызове EditText.getText()

363
08 мая 2017, 00:10
public void foodbuttonclick(View view) {
    final EditText foodtext;
    final TextView textView2;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    textView2 = (TextView) view.findViewById(R.id.textView2);
    foodtext = (EditText) view.findViewById(R.id.input_text);
    builder.setTitle("Еда")
        .setMessage("Введите сумму:")
        .setCancelable(true)
        .setView(dialog_view)
        .setNegativeButton("Подтведрить",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    String foodstr = foodtext.getText().toString();
                    //String foodstr = (String.valueOf(foodint));
                    dialog.dismiss();
                    textView2.setText(foodstr);
                }
        });
        builder.show();
    }

NullPointerException Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference AndroidStudio пишет, что проблема com.example.andrew.moneysaver.MainActivity$2.onClick(MainActivity.java:94) в строке String foodstr = foodtext.getText().toString();

Answer 1

Вы не там его ищете:

    view.findViewById(R.id.input_text); 

- ведь view это кнопка, на которую нажали, а EditText видимо в dialog_view.

findViewById нужно вызывать у view, в которая содержит искомый элемент:

textView2 = (TextView) dialog_view.findViewById(R.id.textView2);
foodtext = (EditText) dialog_view.findViewById(R.id.input_text);
READ ALSO
Смена содержимого активити

Смена содержимого активити

Здравствуйте, возник такой вопросЕсть первая активити на ней listview, при нажатии на пункты, открывалась вторая активити, но чтобы не создавать...

317
Замена строки в файле нужным текстом

Замена строки в файле нужным текстом

Работаю в Android Studio, пишу на JavaИмеется файл, в который нужно записать информацию

288
Запись в файл что находится в папке raw

Запись в файл что находится в папке raw

Как я могу записать информацию в файл находящийся в папке raw?

300
Как поменять иконку маркера в Google maps?

Как поменять иконку маркера в Google maps?

я использую такой код, что бы поменять иконку маркера на карте, но получаю ошибку:

618