任何人都可以帮我解决我的问题吗?
我有一个活动和六个片段.
一个片段包含指向我的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中的屏幕旋转中保存片段中的数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)