用onSaveInstanceState()方法保存Activity状态

https://blog.csdn.net/yuzhiboyi/article/details/7677026

实现并覆盖了onSaveInstanceState方法:

[java]  view plain copy
 
 
  1. @Override  
  2. protected void onSaveInstanceState(Bundle outState) {  
  3.     // TODO Auto-generated method stub  
  4.     outState.putInt("currentposition", videoView.getCurrentPosition());  
  5.     Log.v("tag", "onSaveInstanceState");  
  6.     super.onSaveInstanceState(outState);  
  7. }   
  1.   
  2. /** Called when the activity is first created. */  
  3. @Override  
  4. public void onCreate(Bundle savedInstanceState) {  
  5.     super.onCreate(savedInstanceState);  
  6.     setContentView(R.layout.main);  
  7.     Log.v("tag", "onCreate");  
  8.      
  9.     if (videoView == null) {  
  10.         videoView = (VideoView) this.findViewById(R.id.myvideo);  
  11.         MediaController controller = new MediaController(this);  
  12.         videoView.setMediaController(controller);  
  13.         videoView.setVideoPath(VIDEO_PATH);  
  14.         videoView.requestFocus();  
  15.     }  
  16.   
  17.     if (savedInstanceState != null  
  18.             && savedInstanceState.getInt("currentposition") != 0) {  
  19.   
  20.         videoView.seekTo(savedInstanceState.getInt("currentposition"));  
  21.     }  
  22.     videoView.start();  
  23.   
  24. }  

onCreate方法中的参数savedInstanceState就是保存的Activity一些状态。

[java]  view plain copy
 
 
  1. savedInstanceState.getInt("currentposition")  

获取视频播放时间。

红色代码是将当前video的播放时间存储在Bundle中。

猜你喜欢

转载自www.cnblogs.com/liangxy/p/9150647.html