ハニカム3.1を使用してGalaxy Tab 10.1アプリを開発しています。右側にはvideoviewとmediacontrollerがあります。 VideoViewとMediaControllerをLayout xmlファイルで定義し、関連するjavaファイルでインスタンス化して操作しました。NullPointerException VideoView and MediaController on Fragment on 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();
}
}
を下回っている。しかし、このアプリを実行している間、 android.widgetと
にNullPointerExceptionが発生しています.MediaController.show(MediaController.java:305)
私はこのエラーを1日中解決しようとしましたが、その理由を知ることができません。このための情報が十分ではありません。 どのような体が何をしたのか分かりますか?またはソリューションを持っている? お知らせください。
ありがとうございました。
あなたの答えをありがとうが、私はあなたのコードを試していた。私が望むのは、MideaControllerが同じ断片に表示されているということです。あなたのコード、ハニカムはメインディスプレイの下部と中央にMediaControllerを表示します。 –
@diveto次に、mControllerでsetAnchorView(ビュービュー)を呼び出してみます。 – yydl
実際には、mediacontrollerクラスに基づいたコントローラのようなmediacontrollerを実装し、それをフラグメントに配置しました。だから、私はそれを解決した。とにかくあなたの答えに感謝します。 :) –