java在Android屏幕旋转时以片段形式保存数据
有人能帮我解决问题吗
我有一个活动和六个片段
一个片段包含到我的MediaPlayer类的链接,我用它来显示片段中的一些视频
我在活动的onCreate()方法中获得每个片段类的链接
每次屏幕旋转时,都会调用onCreate()方法,我会得到指向我的六个片段类(以及新的MediaPlayer)的新链接
我可以在旋转之前保存到片段类的每个链接,然后再将其取回吗
(例如:我正在使用link to media player类保存指向片段的链接,然后调用我的media player的stop()方法,然后当屏幕旋转时,我恢复所有数据,以及我的media player并调用ResumePlay()方法)
或者这是一个坏主意,我每次都需要重新创建链接,而我唯一需要做的就是将视频的当前时间和文件路径保存在onSaveInstanceState中,然后将其恢复到onRestoreInstanceState,用恢复的时间启动新的MediaPlyer
谢谢大家!
# 1 楼答案
在清单文件中使用android:configChanges=“orientation | screenSize”
您的清单文件如下所示
# 2 楼答案
对于应用程序内的每个类扩展片段,在onSaveInstanceState方法内更改屏幕方向时,存储要保留的值,然后在onCreateView方法内保留该值
例如,对于您遇到的视频问题,您可以执行以下操作:
然后像这样保留它
希望我抓到你了