VideoView 处理 MainActivity 但不处理我的 Fragment
VideoView working on MainActivity but doesnt work on my Fragment
下面是提供的代码,我正在尝试将此视频视图转移到我的主页(片段 java class)。我见过有人使用 get 方法,但我总是出错。视频视图在 MainActivity java class.
上运行良好
主要ActivityJavaClass
public class MainActivity extends AppCompatActivity {
VideoView video;
String video_url = "https://www.daddyandco.com.my/Daddy-Co-Bartender-Promo.mp4";
ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
video = (VideoView) findViewById(R.id.video);
pd = new ProgressDialog(MainActivity.this);
pd.setMessage("Buffering...");
pd.show();
Uri uri = Uri.parse(video_url);
video.setVideoURI(uri);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pd.dismiss();
}
});
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(video);
video.setMediaController(mediaController);
}
}
首页片段JavaClass
public class HomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_home, container, false);
}
如果您正在使用 Fragment
init View view = inflate....
.
使用下面的代码它适合你
public class HomeFragment extends Fragment {
VideoView video;
String video_url = "https://www.daddyandco.com.my/Daddy-Co-Bartender-Promo.mp4";
ProgressDialog pd;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
video = view.findViewById(R.id.video);
pd = new ProgressDialog(view.getContext());
pd.setMessage("Buffering...");
pd.show();
Uri uri = Uri.parse(video_url);
video.setVideoURI(uri);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pd.dismiss();
}
});
MediaController mediaController = new MediaController(view.getContext());
mediaController.setAnchorView(video);
video.setMediaController(mediaController);
return view;
}
}
下面是提供的代码,我正在尝试将此视频视图转移到我的主页(片段 java class)。我见过有人使用 get 方法,但我总是出错。视频视图在 MainActivity java class.
上运行良好主要ActivityJavaClass
public class MainActivity extends AppCompatActivity {
VideoView video;
String video_url = "https://www.daddyandco.com.my/Daddy-Co-Bartender-Promo.mp4";
ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
video = (VideoView) findViewById(R.id.video);
pd = new ProgressDialog(MainActivity.this);
pd.setMessage("Buffering...");
pd.show();
Uri uri = Uri.parse(video_url);
video.setVideoURI(uri);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pd.dismiss();
}
});
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(video);
video.setMediaController(mediaController);
}
}
首页片段JavaClass
public class HomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_home, container, false);
}
如果您正在使用 Fragment
init View view = inflate....
.
使用下面的代码它适合你
public class HomeFragment extends Fragment {
VideoView video;
String video_url = "https://www.daddyandco.com.my/Daddy-Co-Bartender-Promo.mp4";
ProgressDialog pd;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
video = view.findViewById(R.id.video);
pd = new ProgressDialog(view.getContext());
pd.setMessage("Buffering...");
pd.show();
Uri uri = Uri.parse(video_url);
video.setVideoURI(uri);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
pd.dismiss();
}
});
MediaController mediaController = new MediaController(view.getContext());
mediaController.setAnchorView(video);
video.setMediaController(mediaController);
return view;
}
}