Как избежать NullPointerException при использовании пользовательских представлений или SurfaceViews

StackOverflow https://stackoverflow.com/questions/985851

Вопрос

я создал кастом 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, а не в конструкторе.код предварительного просмотра макета может инициализировать ваш элемент управления по другому пути кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top