java– 在Android中的屏幕旋转中保存片段中的数据

java– 在Android中的屏幕旋转中保存片段中的数据,第1张

概述任何人都可以帮我解决我的问题吗?我有一个活动和六个片段.一个片段包含指向我的MediaPlayer类的链接,我用它来显示片段中的一些视频.我在Activity的onCreate()方法中获取了每个Fragment类的链接.每次屏幕旋转时,都会调用onCreate()方法,并获得指向我的六个Fragment类(和新的MediaP

任何人都可以帮我解决我的问题吗?

我有一个活动和六个片段.

一个片段包含指向我的MediaPlayer类的链接,我用它来显示片段中的一些视频.
我在Activity的onCreate()方法中获取了每个Fragment类的链接.
每次屏幕旋转时,都会调用onCreate()方法,并获得指向我的六个Fragment类(和新的MediaPlayer)的新链接.

我可以在轮换之前保存每个链接到我的Fragment类,然后将其恢复吗?
(例如:我通过链接到媒体播放器类保存链接到我的片段,然后调用我的MediaPlayer的stop()方法,然后当屏幕旋转时,我恢复所有数据,我的MediaPlayer并调用ResumePlay()方法) .

或者这是一个坏主意,我需要每次都重新创建链接,我唯一需要做的就是将当前时间的视频和路径保存在onSaveInstanceState文件中,然后将其恢复到onRestoreInstanceState中,随时启动新的MediaPlyer恢复了吗?

谢谢!

解决方法:

对于每个类在应用程序商店中扩展片段,当您在onSaveInstanceState方法中更改屏幕方向然后保留在onCreateVIEw方法内时,要保留它的值.

例如,对于您遇到的视频问题,您可以执行以下 *** 作:

@OverrIDepublic voID onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putInt("cp", vIDeovIEw.getCurrentposition());   }

然后像这样保留它

@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,        Bundle savedInstanceState) {    if(savedInstanceState!=null)    {        int a=savedInstanceState.getInt("cp");        vIDeovIEw.seekTo(a);    }//the rest of your code then....}

希望我能得到你.

总结

以上是内存溢出为你收集整理的java – 在Android中的屏幕旋转中保存片段中的数据全部内容,希望文章能够帮你解决java – 在Android中的屏幕旋转中保存片段中的数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存