【问题标题】:VideoView working on MainActivity but doesnt work on my FragmentVideoView 在 MainActivity 上工作,但在我的 Fragment 上不起作用
【发布时间】:2021-06-30 05:57:07
【问题描述】:

下面是提供的代码,我正在尝试将此视频视图转移到我的主页(片段 java 类)。我见过人们使用 get 方法,但我总是遇到错误。视频视图在 MainActivity java 类上运行良好。


主要活动 Java 类

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);
    }
}

Home Fragment Java 类

public class HomeFragment extends Fragment {
    

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_home, container, false);
    }

【问题讨论】:

    标签: java android android-fragments


    【解决方案1】:

    如果您使用的是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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      相关资源
      最近更新 更多