EditText正在失去用户';旋转android手机时输入

EditText正在失去用户';旋转android手机时输入,android,Android,问题 当用户键入editText时 (横向模式或纵向模式)和 在文字丢失时旋转手机 问题 我怎样才能避免丢失该文件 文本 基础代码: onCreate()-> setContentView(myLayout)->获取 使用 findViewById() OnConfiguration Changed()->setContentView(myLayout)->使用findViewById()获取对UI小部件的引用 我猜onConfigurationChanged()中的setConte

问题

  • 当用户键入editText时 (横向模式或纵向模式)和 在文字丢失时旋转手机
问题

  • 我怎样才能避免丢失该文件 文本
基础代码:

  • onCreate()-> setContentView(myLayout)->获取 使用 findViewById()
  • OnConfiguration Changed()->setContentView(myLayout)->使用findViewById()获取对UI小部件的引用
我猜onConfigurationChanged()中的setContentView()会导致数据丢失。
我认为我需要做的是在这之前从EditText中获取数据。但是怎么做呢?

我不肯定,但几乎可以肯定的是,当方向改变时,活动会完全重新创建,不是吗?您必须使用bundle来保存实例状态等等,请查看大致相同的主题,我相信您会找到答案的!干杯

添加

android:configChanges=“方向”

到androidmanifest.xml中的活动。这将旋转方向,但不会在方向更改时发生任何更改

<activity android:name=".activityname"
android:label="@string/app_name"
android:configChanges="orientation">


我看到onSaveInstanceState()是我需要的事件,但不幸的是,当屏幕旋转时,生成的OnConfiguration Changed()提供了一种配置类型,而不是捆绑包。如果onConfigurationChanged()提供了一个捆绑包,那就太棒了:-(我想说“是的,这就是我所拥有的”,读过onConfigurationChanged()之后,我注意到不需要使用setContentView(R.layout.chat).6个月来我一直在做错事!!但我想知道当我想要一个不同的横向模式视图时我会怎么做。可能使用OnRetainonConfiguration实例()和GetLastNoConfiguration实例()对于EditText中存储的数据,您可以使用/res/layout port/main.xml或/res/layout land/main.xml在各自的文件夹中为每个方向指定不同的xml文件。但是,我认为我的两种方法不兼容。我从来没有这样测试过。如果您想用原始问题实现上述xml问题,那么解决方案将是saving定向前更改活动的onDestroy()和定向后更改活动的onCreate()之间的数据。我现在不记得是否在此时间跨度内保留了变量实例,如果没有,则可能必须对具有首选项或内部数据存储的解决方案进行编码解决方案:不要使用setContentView()在onConfigurationChanged()中