以编程方式添加的按钮在Android中转换横向时消失

时间:2014-07-17 16:17:33

标签: android button

我开发了一系列图像按钮,当我将手机转向横向和背面时,它会消失。这是为什么?

3 个答案:

答案 0 :(得分:1)

查看onSaveInstanceState()onRestoreInstanceState()方法。

这里有一些相关信息:http://developer.android.com/reference/android/app/Activity.html

基本上,当您旋转屏幕时,视图正在被销毁并重新创建,因此您需要在onSaveInstanceState()中保存相关信息,以便在onRestoreInstanceState()中重建视图时,视图将返回到您的位置希望它成为。

答案 1 :(得分:0)

因为除非您覆盖它,否则旋转手机会完成活动并重新启动新活动。除非在onCreate中添加了新按钮,否则新按钮将没有添加按钮。您可能的解决方案是:

1)通过将android:configChanges =“orientation | resize”添加到活动的清单中来覆盖重新创建功能

2)在onSaveInstanceState中创建一个对象,其中包含您为应用程序保存所需的所有信息,包括您添加此按钮的事实。在onRestoreInstanceState中获取此信息并读取按钮,如果需要

除非你有横向和纵向的单独布局文件,否则解决方案1要容易得多,应该可以使用。

答案 2 :(得分:0)

当手机更改方向时,将破坏并重新创建当前活动。

您应该保存实例状态,并在重新创建活动时恢复以前保存的实例状态。

检查http://developer.android.com/training/basics/activity-lifecycle/recreating.html以获取更多信息。

希望这有帮助