SurfaceView в layout?

Такой вопрос:


Описал Surface в layout.

<SurfaceView
android:id="@+id/surfaceView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"  />



Как теперь к нему привязать мой класс?


В примерах surfaceview вызывается через класс основного активити
setContentView(new MySurfaceView(this));


Но у меня SurfaceView уже есть в layout, поэтому я вызываю:
setContentView(R.layout.activity_main);
  • Вопрос задан
  • 4400 просмотров
Пригласить эксперта
Ответы на вопрос 4
palmut
@palmut
А разве
SurfaceView view = (SurfaceView) findViewById(R.id.surfaceView1); 

не сработает?
Ответ написан
Комментировать
LeoCcoder
@LeoCcoder
Понятное дело, что так работать не будет. Тут рассказано как делать правильно: stackoverflow.com/questions/5203547/draw-surfaceview-from-layout-xml
Ответ написан
Wiemo
@Wiemo Автор вопроса
не срабатывает. Точнее появляется пустое surface view, код из класса не отрабатывается
Ответ написан
Комментировать
Wiemo
@Wiemo Автор вопроса
Спасибо, то что надо.
Причём в класс MySurfaceView в подкласс MySurfaceView пришлось дописать второй параметр attributeSet, помимо context. Ну собственно об этом явно указано в приведенной ссылке, иначе fatal exeption.
Вопрос, почему так? Если surfaceview вызывается напрямую, а не через layout, то описание класса без attributeSet прокатывает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы