我的片段中有视频观看。当视频正在播放并且我改变了方向时,它会在froment onPause()中抛出空指针异常,其中我正在暂停视频。以前未将视频视图附加到活动时发生此问题。最近我不得不将活动更改为碎片并从那时起获得异常。
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 是视频类的一个对象,它扩展了其中包含VideoView vidPlayer
的RelativeLayout
Video.java
public void pausePlayer() {
isPaused = true;
vidPlayer.pause();
btnPlay.setImageResource(R.drawable.video_play);
controlsManager.cancelHideTimer();
}
所以,这是结构 - &gt;
___________________________________
| ** MyFragment.java ** |
| _______________________________ |
| | ** Video.java ** | |
| | ___________________________ | |
| | | | | |
| | | **VideoView vidPlayer** | | |
| | |___________________________| | |
| | | |
| |_______________________________| |
| |
|___________________________________|
答案 0 :(得分:0)
在您的活动清单上尝试此添加:
android:configChanges="keyboardHidden|orientation"
在您的活动中,您必须添加以下代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Pass any configuration change to the drawer toggls
}