繁体   English   中英

当用户返回活动时,Videoview无法启动

[英]Videoview not starting when the user comes back to activity

我正在启动一个项目,我想在执行应用程序时在主要活动中重现视频,当用户按下视频进入另一个活动时。 如果用户按下后退按钮,他将再次进入主屏幕并从头开始再现视频。 该视频位于原始目录中。

问题是视频视图在首次创建活动时再现视频,而不是当用户从其他活动返回时(在我的情况下是MenuSection活动)。 代码非常简单,但无论如何我都会粘贴它:

 public class MainActivity extends Activity {
   private VideoView mVideoView;
   LinearLayout menuSection;
   @Override

   public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.main);
      mVideoView = (VideoView) findViewById(R.id.surface_view);
      mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.documentariesandyou));
      mVideoView.requestFocus();
      mVideoView.setMediaController(null); //i dont want the controls of the videoview.
      mVideoView.start();
      menuSection = (LinearLayout) findViewById(R.id.menuSection);
      menuSection.setOnClickListener(new menuSectionListener());

   }

class menuSectionListener implements OnClickListener {
    public void onClick(View v) {
        Intent staticActivityIntent = new Intent(MainActivity.this, MenuSection.class);
        startActivity(staticActivityIntent);        
    }
}

}

MenuSection只是一个显示文本视图的活动,如“Hello world”,所以我没有粘贴它。

移动mVideoView.start(); onResume()而不是onCreate()为:

@Override
    protected void onResume() {
        super.onResume();
        mVideoView.start();
    }

请参阅管理活动生命周期 onResume()在活动已经运行时从您的活动中调用

onPause() video.pause()上调用video.pause()覆盖你的活动方法,并在你活动的onResume()方法上调用video.resume()

移动mVideoView.start(); onStart() ,而不是onCreate()

有关活动生命周期如何工作的详细信息,请参阅开发人员文档中的活动生命周期。

我不确定,但您可能还需要移动setVideoURI(); onStart()也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM