![](/img/trans.png)
[英]how to save state of a View and restore it when the user comes back in?
[英]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.