У меня есть видеоизображение в моем фрагменте. Когда видео воспроизводится, и я меняю ориентацию, он выбрасывает исключение нулевого указателя в frgament onPause(), где я приостанавливаю просмотр. Эта проблема не возникала ранее, когда видео-представление было прикреплено к активности. Недавно мне пришлось сменить действие на фрагмент и получить исключение.VideoView во фрагменте имеет нулевое значение во время изменения ориентации
video.xml
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/fullScreenContainer">
<SurfaceView
android:layout_width="0px"
android:layout_height="0px"
android:id="@+id/dummySurfaceView"/>
</FrameLayout>
Это мой фрагмент OnPause()
@Override
public void onPause() {
super.onPause();
if (videoView != null) {
videoView.pausePlayer();
}
}
VideoView является объектом класса Video, которые расширяют RelativeLayout, который имеет VideoView vidPlayer
в нем
Video.java
public void pausePlayer() {
isPaused = true;
vidPlayer.pause();
btnPlay.setImageResource(R.drawable.video_play);
controlsManager.cancelHideTimer();
}
Итак, это структура ->
___________________________________
| ** MyFragment.java ** |
| _______________________________ |
| | ** Video.java ** | |
| | ___________________________ | |
| | | | | |
| | | **VideoView vidPlayer** | | |
| | |___________________________| | |
| | | |
| |_______________________________| |
| |
|___________________________________|
Я пробовал и не работал. – Uma
Я бы посоветовал вам работать с пейзажной ориентацией в ваших видео, чтобы решить вашу проблему. use android: Ориентация = "пейзаж" в манифесте в вашей деятельности VideoPlayer. , иначе вам нужно вставить код в конфигурациюChanged не только код, который я опубликовал. в моем случае я сохраняю конфигурацию моего ящика с mDrawerToggle.onConfigurationChanged (newConfig); попробуйте vidPlayer.onConfigurationChanged (newConfig); не уверен, что он работает Надеюсь, что это помогает =) и не забудьте проголосовать и выбрать мой ответ, если вы в конечном итоге его используете. –