Я разрабатываю приложение Galaxy Tab 10.1 с помощью сотовой версии 3.1, и у меня есть видеообзор и медиантроллер с фрагментом справа. Я определил VideoView и MediaController в XML-файле Layout и создаю и обрабатываю их в соответствующем Java-файле.NullPointerException VideoView и MediaController на фрагменте в android
Как вы, ребята, в файле java, я установил контроллер VideoView в MediaController и установил медиаплеер MediaController в VideoView, который я определил.
Ниже раскладка фрагмент XML-файл
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<MediaController
android:id="@+id/controller"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
и файл Java код ниже
public class ContentFragment extends Fragment {
private VideoView mVideo;
private MediaController mController;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.content, null);
mVideo = (VideoView)view.findViewById(R.id.video);
mController = (MediaController)view.findViewById(R.id.controller);
mVideo.setMediaController(mController);
mController.setMediaPlayer(mVideo);
return view;
}
public void playVideo(String path) {
mVideo.setVideoPath(path);
mVideo.requestFocus();
}
}
Но во время работы этого приложения, происходит
NullPointerException с android.widget .MediaController.show (MediaController.java:305)
Я пытался решить эту ошибку целый день, но я не могу понять причину. actullay информации для этого недостаточно. Доза любого тела знает, что я сделал неправильно? или есть решения? Пожалуйста, дайте мне знать.
Спасибо.
Благодарю вас за ответ, но я попробовал ваш код. то, что я хочу, MideaController отображается на том же фрагменте. ваш код, сотовые дисплеи MediaController на нижней и центральной горизонтали основного дисплея. –
@diveto Затем попробуйте вызвать setAnchorView (View view) на mController. – yydl
Фактически, я реализовал контроллер mediacontroller как контроллер на основе класса mediacontroller и поместил его в фрагмент. поэтому я решил это. в любом случае спасибо за ваш ответ. :) –