Android setonclicklistener this nullpointerexception

NullPointerException: SetOnClickListener (это) — Android

При запуске моего приложения в Android Studio я получаю NullPointerException в строке 30, который выглядит следующим образом:

Что всегда работало для меня .. Я реализую View.OnClickListener и имею здесь метод переопределения:

Мой LinearLayout объявлен здесь перед setOnClickListener :

Так что происходит не так? Вот мой вывод LogCat:

3 ответа

Фрагменты работают немного иначе.

При работе с ними вы должны использовать концепцию rootview. В противном случае вы всегда будете сталкиваться с ужасным исключением «NULL POINTER».

Вот как это сделать.

Определите корневое представление при расширении каждого представления для каждого фрагмента, а затем вызовите функцию onClick.

Другой альтернативой является использование getView, которое всегда возвращает rootview. . Попробуйте вместо этого

Эта ссылка объясняет аналогичную проблему.

Однако первый способ является правильным, поскольку вы изолируете свои фрагменты друг от друга и правильно понимаете иерархию представлений. Я бы прочитал это. Поверьте, время, потраченное на чтение этого материала, окупается, а не часы, которые вы в противном случае потратите на полоумные идеи работы, чтобы заставить материал работать.

findViewById возвращает нулевое значение когда запрошенное представление не может быть найдено.

  • Проверьте в соответствующем XML-файле, что представление действительно объявлено с идентификатором @id/llTheory
  • стандартная передовая практика Java будет проверять отлитый предмет перед его использованием.

Источник

Исключить указатель Null на .setOnClickListener

У меня возникла проблема с прослушивателем кликов для кнопки отправки модального входа.

У меня есть разумное понимание того, что такое исключение нулевого указателя, и я тщательно искал проблему, подобную моей. Я попытался переформатировать прослушиватель кликов несколькими способами, убедиться, что у меня есть правильный идентификатор вида и т. Д.

Читайте также:  Как записать телефонный разговор для андроид

Существует больше, очевидно, но не относящихся к теме, я думаю. Вот XML-файл для диалога с кнопкой на нем.

Любая помощь будет принята с благодарностью.

Submit является null потому что это не является частью activity_main.xml

Когда вы вызываете findViewById внутри Activity , он будет искать View внутри макета вашей активности.

Попробуйте это вместо этого:

Другое дело: вы используете

Но то, что вы хотите, вероятно,

См. Этот вопрос о различии между @id и @+id .

Android.widget.Button.setOnClickListener (android.view.View $ OnClickListener) ‘на ссылке нулевого объекта

Потому что кнопка Submit находится внутри login_modal поэтому вам нужно использовать loginDialog view для доступа к кнопке:

Попробуйте дать вашей Button в вашем main.xml более описательное имя, например:

(Используйте строчные буквы в ваших xml-файлах, по крайней мере, первую букву)

И затем в своем классе MainActivity объявите его как:

В методе onCreate (Bundle savedInstanceState) определите его как:

Также перемещайте кнопки / TextViews снаружи и размещайте их перед .setOnClickListener – это делает код более чистым.

Источник

Оцените статью