Intereting Posts
Что я должен добавить в манифест для отладки приложения Android на самом устройстве? Каково использование allowCoreThreadTimeout () в ThreadPoolExecutor? Как использовать карту OSM в приложении Android. Есть ли учебник, чтобы узнать об использовании OSM в android.? Как выйти из режима Picture-in-Picture? Предназначение для редактирования текстового файла с установленным редактором файлов (если есть) Получить текущий объект фрагмента Проблема с Android TabWidget White Space Как удалить файл класса в файле .jar и изменить его с помощью моей собственной реализации Специальная программная клавиатура для Android Xamarin Android (Visual Studio 2015) Не удалось подключиться к отладчику Использование нескольких тегов <include /> в макете с ButterKnife Автоматическое масштабирование на Google Картах в java? (В зависимости от разрешения экрана Android) Создание фонового рисунка с использованием списка слоев, растяжение значка Как НЕ сохранить состояние просмотра в Android? Как реализовать жестов салфетки в android

NullPointerException на findViewById () в android

В следующем коде я получаю исключение NullPointerException в строках 9/10 с помощью findViewById ().
В моем основном классе я просто создал объект из этого класса, чтобы использовать .getFrom ()

public class UserInteraction extends Activity { EditText etFrom; int from; EditText etTill; int till; public UserInteraction(){ etFrom = (EditText)findViewById(R.id.et_from); etTill = (EditText)findViewById(R.id.et_till); } public int getFrom() { String s = etFrom.getText().toString(); int i = Integer.parseInt(s); return i; } public int getTill() { String s = etTill.getText().toString(); int i = Integer.parseInt(s); return i; } 

Это то, что contentView установлен в моем основном классе ..? Что может быть причиной ?

Solutions Collecting From Web of "NullPointerException на findViewById () в android"

Метод setContentView следует вызывать с соответствующим макетом перед вызовом findViewById . Обычно он вызывается в onCreate(Bundle savedInstance) .

Вы должны вызвать его из метода onCreate из вашей деятельности, поскольку ресурсы не будут доступны до этого момента.

Поэтому, расширяя ответ MByD, в методе onCreate, сначала вызовите setContentView (), затем findViewById ().

Во-первых, вы должны вызвать setContentView (макет int) , чтобы установить Контент вашей деятельности, а затем вы можете получить свои представления (findViewById (int id));

Итак, ваша деятельность будет такой:

 public class UserInteraction extends Activity { EditText etFrom; int from; EditText etTill; int till; public void onCreate(Bundle savedInstance{ super.onCreate(saveInstance); this.setContentView(R.layout.main); etFrom = (EditText)findViewById(R.id.et_from); etTill = (EditText)findViewById(R.id.et_till); } 

}