当前位置: 移动技术网 > 移动技术>移动开发>Android > Android 实现两个Activity跳转实例

Android 实现两个Activity跳转实例

2019年07月24日  | 移动技术网移动技术  | 我要评论

1.关于从activity a跳转到activity b

其中activity a中有一个videoview,activity b中有一个mediaplayer。

两个不同的视频的跳转,前面我是在onstop()方法中销毁videoview(因为mediaplayer是全局共用的,而videoview内包含mediaplayer),但是每次进入activity b视频播放了一点

就会弹出了,导致视频b播放失败

public class moviesynopsis extends baseactivity implements onclicklistener{
 
 
 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 setcontentview(r.layout.movie_synopsis);
 

 }

 @override
 public void onclick(view v) {
 if(v.equals(mplaybutton)){
 intent intent = new intent(moviesynopsis.this, movieplayer.class); 
 startactivity(intent);
 } 
 }
 
 @override
 protected void onstop() {
 if(movie_video!=null){
 movie_video.pause();
 movie_video.stopplayback();
 } 
 super.onstop();
 }
 @override
 protected void ondestroy() {
 super.ondestroy();
 }

}

后来修改了一些东西,把videoview的销毁放在了startactivity(intent)之前,这样问题就解决了。

2.extends baseactivity

public class moviesynopsis extends baseactivity implements onclicklistener{
 
 
 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 setcontentview(r.layout.movie_synopsis);
 

 }

 @override
 public void onclick(view v) {
 if(v.equals(mplaybutton)){
 if(movie_video!=null){      
 movie_video.pause();
 movie_video.stopplayback();
 }
 intent intent = new intent(moviesynopsis.this, movieplayer.class); 
 startactivity(intent);
 } 
 }
 
 @override
 protected void onstop() {
 if(movie_video!=null){
 movie_video.pause();
 movie_video.stopplayback();
 } 
 super.onstop();
 }
 @override
 protected void ondestroy() {
 super.ondestroy();
 }

}

发现原来失败的原因是,如果是在activity a 的onstop()方法中销毁videoview,则你在activity b中播放了一段时间视频之后activity a的onstop()方法才会去走,这样就导致了你在看activity b中的视频的时候activity a中会开始销毁videoview中的mediaplayer,导致你的activity b的视频提前结束。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网