나는 honeycomb 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로 설정했습니다. 다음은
는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이 발생 단편 레이아웃 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>
및 자바 코드 파일입니다 .MediaController.show (MediaController.java:305)
나는이 오류를 하루 종일 풀려고했지만 그 이유를 알 수 없다. 거기에는 충분한 정보가 없습니다. 복용량은 내가 뭘 잘못했는지 알 수 있습니까? 아니면 해결책이 있습니까? 알려 주시기 바랍니다.
감사합니다.
답장을 보내 주셔서 감사합니다.하지만 코드를 사용해 보았습니다. 내가 원하는 것은 MideaController가 같은 조각에 표시됩니다. 귀하의 코드, 벌집은 메인 디스플레이의 하단과 중앙 - 수평에 MediaController를 표시합니다. –
@diveto 그런 다음 mController에서 setAnchorView (보기보기)를 호출 해보십시오. – yydl
사실, 나는 mediacontroller 클래스를 기반으로하는 컨트롤러와 같은 mediacontroller를 구현하여 조각에 배치했습니다. 그래서, 나는 그것을 해결했다. 어쨌든 당신의 대답에 감사드립니다. :) –