2013-12-04 2 views
0

У меня есть видеоизображение в моем фрагменте. Когда видео воспроизводится, и я меняю ориентацию, он выбрасывает исключение нулевого указателя в 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** | | | 
| | |___________________________| | | 
| |        | | 
| |_______________________________| | 
|         | 
|___________________________________| 

ответ

0

попробовать это добавить на манифест о вашей деятельности

андроид: configChanges = "keyboardHidden | ориентации"

и в вашей деятельности

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    // Pass any configuration change to the drawer toggls 

} 
+0

Я пробовал и не работал. – Uma

+0

Я бы посоветовал вам работать с пейзажной ориентацией в ваших видео, чтобы решить вашу проблему. use android: Ориентация = "пейзаж" в манифесте в вашей деятельности VideoPlayer. , иначе вам нужно вставить код в конфигурациюChanged не только код, который я опубликовал. в моем случае я сохраняю конфигурацию моего ящика с mDrawerToggle.onConfigurationChanged (newConfig); попробуйте vidPlayer.onConfigurationChanged (newConfig); не уверен, что он работает Надеюсь, что это помогает =) и не забудьте проголосовать и выбрать мой ответ, если вы в конечном итоге его используете. –

Смежные вопросы