Как избежать NullPointerException при использовании пользовательских представлений или SurfaceViews
-
13-09-2019 - |
Вопрос
я создал кастом SurfaceView
называется CaptureView
и попытался добавить его в main.xml
файл:
<dev.recorder.client.CaptureView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/capturePreview"/>
Кажется, приложение работает нормально, но если я переключусь с main.xml
вкладка «Макет» в Eclipse текста NullPointerException
появляется вместо предварительного просмотра макета.
В Activity я привязал элементы управления следующим образом:
setContentView(R.layout.main);
bindControls();
private void bindControls()
{
videoPreview = (CaptureView)findViewById(R.id.capturePreview);
txtstatus = (TextView)findViewById(R.id.txtMode);
txtTimer = (TextView)findViewById(R.id.txtTime);
}
Кто-нибудь знает, как можно решить эту проблему?
Решение
убедитесь, что вы инициализируете представление в onFinishInflate, а не в конструкторе.код предварительного просмотра макета может инициализировать ваш элемент управления по другому пути кода.
Не связан с StackOverflow