我正在使用蜂窝 3.1 开发 Galaxy Tab 10.1 应用程序,我在右侧的片段中有一个视频视图和媒体控制器。我在 Layout xml 文件中定义了 VideoView 和 MediaController 并在相关的 java 文件中实例化和操作它们。
正如你们所知道的,在 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 没有足够的信息。有没有人知道我做错了什么?或有解决方案?请告诉我。
谢谢。