Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 每当我旋转屏幕时,它就会从片段屏幕跳转到主活动屏幕_Android_Android Fragments_Android Activity_Onsaveinstancestate_Onrestoreinstancestate - Fatal编程技术网

Android 每当我旋转屏幕时,它就会从片段屏幕跳转到主活动屏幕

Android 每当我旋转屏幕时,它就会从片段屏幕跳转到主活动屏幕,android,android-fragments,android-activity,onsaveinstancestate,onrestoreinstancestate,Android,Android Fragments,Android Activity,Onsaveinstancestate,Onrestoreinstancestate,我是android的初学者,我用fragment创建了一个应用程序。当我在fragment屏幕中旋转屏幕时,它会离开该片段屏幕并跳转到主活动屏幕。为什么?请帮我解决这个问题 我的主要活动,, Individualuser_Safmical.java: 我的片段shopfrugment.java: 查看“保存活动状态并再次还原”示例。你必须在那里应用你的解决方案。这是官方文件 您可以使用OnConfiguration Changed 还要将此行添加到您的清单中 android:configChan

我是android的初学者,我用fragment创建了一个应用程序。当我在fragment屏幕中旋转屏幕时,它会离开该片段屏幕并跳转到主活动屏幕。为什么?请帮我解决这个问题

我的主要活动,, Individualuser_Safmical.java:

我的片段shopfrugment.java:


查看“保存活动状态并再次还原”示例。你必须在那里应用你的解决方案。这是官方文件

您可以使用OnConfiguration Changed

还要将此行添加到您的清单中

android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"

通过在清单中添加此项,可以锁定活动以避免方向更改

android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
@阿卜杜勒·卡维写道


这是因为旋转屏幕上的活动被破坏并重新创建

他当然是对的。有两种方法可以处理此问题:

重写片段的OnConfiguration Changed、onSaveInstanceState和onRestoreInstanceState回调方法。 或者您可以在应用程序的清单文件中添加android:configChanges=keyboardHidden |方向。
有关更多详细信息,请参见此图。

这是因为在旋转屏幕上,活动会被破坏并重新创建,而您的片段不会像活动那样存在have@Abdulkawee-那么我应该纠正什么呢?检查下面的答案@harshdo我需要在fragment中编写onConfigurationchanged方法?外接程序活动,检查配置是否已更改,然后再次调用Fragments,但当单击“按类别购物”按钮时会调用此片段。那么我应该在我的活动中的何处添加此代码?它是一种覆盖方法,如onCreate或onDestroy,因此将其添加到活动中的任何位置,当发生配置更改时,它会自动调用。最小的解决方案是将应用程序锁定在纵向模式下,这样它就无法旋转,问题就解决了solved@Abbas-谢谢。
android:screenOrientation="portrait"