我正在开发一个我面临两个问题的Android应用程序,
数据丢失:登录屏幕,当我将横向更改为纵向模式时,输入的文本将丢失。
强制关闭:当我捕获图像形式相机时应用程序内部,然后我将肖像更改为横向模式,有时强制关闭并且图像未显示在ImageView
中。
如何解决这个问题?我不应该以纵向模式锁定应用程序,我不知道解决这个问题,请向我建议任何有用的链接和示例代码,它可能对我有用。
答案 0 :(得分:1)
在活动内的mainifest文件中添加以下属性。您可以根据需要进行更改
android:configChanges="orientation|screenSize|keyboard|screenLayout"
答案 1 :(得分:0)
为了防止数据丢失,请将configChanges
添加到清单,然后设置值:screenOrientation
,screenSize
,layoutDirections
。
如果这也不起作用,
覆盖onConfigurationChanged
方法,并处理您在该方法中对数据所做的操作。
答案 2 :(得分:0)
1)
android:configChanges="orientation|screenSize|keyboard|screenLayout"
将此添加到AndroidManifest.xml文件中,确保在方向更改发生时不再调用onCreate(),但只有ui呈现的内容才会更改,维护用户在UI上输入的数据。
<activity
android:name="LoginActivity"
android:configChanges="orientation|screenSize"
android:label="@string/app_name"
android:logo="@drawable/menu_button"
android:windowSoftInputMode="adjustPan|stateHidden" >
2) 需要更多的信息,但是这可能是当方向被改变的情况下,ui视图将被重新创建,因此在一小部分时间内将为null,并且您的代码可能在此时尝试访问相同的视图。
我觉得1)和2)相关,解决1)使用上面并尝试重现2)。