【问题标题】:Android - Orientation Change - exits app but w/o crashingAndroid - 方向更改 - 退出应用程序但不会崩溃
【发布时间】:2010-09-02 17:49:20
【问题描述】:

查看了其他帖子,但没有看到我正在寻找的答案...

我有两种布局:layout-port 和 layout-land。
如果我使用模拟器或设备运行应用程序,无论是垂直还是水平,应用程序在正确的布局下运行良好。

但是,如果我旋转模拟器或设备,应用程序就会退出。没有崩溃,perse',它只是退出。

我有其他应用程序具有类似定义的布局,它们可以正常工作,而清单中没有任何方向处理。我不关心持久化数据。

有效的和这个之间的主要区别是(这个有):
* 带有子菜单的菜单
* 对话框屏幕(不是 android 对话框小部件)
* 标签小部件

以上所有项目都在各自的布局(端口和陆地)中工作,应用程序在旋转模拟器或设备时退出,我需要重新启动应用程序。

有什么建议吗?谢谢

清单:

(已删除)

【问题讨论】:

  • LogCat 说什么? (使用市场上的 aLogCat)
  • “重复完成请求”让我很好奇。你有一些你可以发布的活动代码吗?或许还有您在清单中注册活动的方式。
  • 我将在帖子中发布屏幕截图...
  • 我将在帖子中发布一个屏幕截图图像......虽然代码很广泛(800 多行,双精度,浮点......)它也相当简单。清单包含 5 个活动,只有每个活动的名称和标签。我确实尝试添加orientationChange 来锁定一个布局,但这没关系。也可以尝试使用“传感器”选项,这也没关系。

标签: android orientation android-layout


【解决方案1】:

如果你使用上面的代码,做一个修改:

android:configChanges="keyboard|keyboardHidden|orientation"

仅使用“方向”将处理由加速度计等驱动的方向变化,但在具有物理键盘和滑出式屏幕的设备上,只要用户滑动打开键盘,Activity 仍将关闭并重新启动。

【讨论】:

  • 谢谢!那种伎俩!它阻止了它的死亡,但它保留了纵向布局并且永远不会改变为横向。实际上,我会接受这个应用程序。我想知道为什么添加键盘的东西会处理它(只是方向,正如 Juri 所建议的那样,没有)。我的设备没有物理键盘。我以前从来不需要这样做,我怀疑它一定与应用程序的菜单/子菜单需要用户键入输入有关。再次感谢!
  • :D 太棒了,我的活动中有键盘的东西,但在我的帖子中删除了它,因为它对我没有意义:)
【解决方案2】:

您是否尝试将android:configChanges="orientation" 添加到清单中的活动声明中?通常,当配置更改时,活动会关闭并重新启动。添加这个“标志”可以防止这种情况,而是调用onConfigurationChanged() 方法。

【讨论】:

  • 谢谢。是的,我尝试了几次,包括将它放在每个活动标签中。并且,如前所述,还尝试使用传感器标签。这就是它的奇怪之处。 configChanges 似乎总是在我的其他应用程序中工作。我从 logCat 中看到的唯一其他奇怪的事情是警告中的重复完成请求。
  • 补充:我锁定了纵向,然后以横向运行应用程序,切换到纵向并注意到在应用程序退出之前,布局显示。这几乎暗示与 logcat 中引用的重复完成有关。但是,我的代码仅在不同的活动中调用完成,而不是在 onCreate 中。令人费解...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多