数据丢失并强制关闭横向和纵向模式android

时间:2014-04-29 10:51:13

标签: android android-layout android-listview

我正在开发一个我面临两个问题的Android应用程序,

  1. 数据丢失:登录屏幕,当我将横向更改为纵向模式时,输入的文本将丢失。

  2. 强制关闭:当我捕获图像形式相机时应用程序内部,然后我将肖像更改为横向模式,有时强制关闭并且图像未显示在ImageView中。

  3. 如何解决这个问题?我不应该以纵向模式锁定应用程序,我不知道解决这个问题,请向我建议任何有用的链接和示例代码,它可能对我有用。

3 个答案:

答案 0 :(得分:1)

在活动内的mainifest文件中添加以下属性。您可以根据需要进行更改

android:configChanges="orientation|screenSize|keyboard|screenLayout"

答案 1 :(得分:0)

为了防止数据丢失,请将configChanges添加到清单,然后设置值:screenOrientationscreenSizelayoutDirections

如果这也不起作用,

覆盖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)。