私はハニカム3.1を使用してGalaxyTab10.1アプリを開発していますが、右側にビデオビューとメディアコントローラーが断片化されています。レイアウト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();
}
}
しかし、このアプリを実行している間、発生します
android.widget.MediaController.show(MediaController.java:305)でのNullPointerException
私はこのエラーを一日中解決しようとしましたが、理由がわかりません。actullayこれについては十分な情報がありません。私が間違ったことを知っている体はありますか?または解決策がありますか?私にお知らせください。
ありがとう。