我正在为 Android 开发一个库。这个库包含一个自定义视图。我希望能够从我的库中检测到何时onConfigurationChanged()
调用该活动。
我的第一个想法是startActivity()
与我自己的仅实现的活动一起使用onConfigurationChanged()
,但不幸的是,这在应用程序之上启动了一个新活动。是否可以在“后台”中运行活动?
也许我有错误的方法?你知道我怎么能做到这一点吗?
我正在为 Android 开发一个库。这个库包含一个自定义视图。我希望能够从我的库中检测到何时onConfigurationChanged()
调用该活动。
我的第一个想法是startActivity()
与我自己的仅实现的活动一起使用onConfigurationChanged()
,但不幸的是,这在应用程序之上启动了一个新活动。是否可以在“后台”中运行活动?
也许我有错误的方法?你知道我怎么能做到这一点吗?
所以我试图解决它的方式不是googd。
我在我的库中添加了一个方法onConfigurationChanged()
。这样,使用它的人将不得不从他们的活动中调用此方法。
问题解决了!
我有一个类似的问题 - 一个自定义画廊创建了自己的对话框并需要跟踪配置更改(因为它在方向改变时泄露了它的视图)。
为了解决这个问题,当检测到这种变化时,必须调用 dialog.dismiss()。我已经需要主要活动来调用自定义视图的一些方法,例如 onContextItemSelected 和 onActivityResult。
我想要对用户更透明的东西。在这种特殊情况下,我通过从onSaveInstanceState
from View
(而不是 from Activity
)调用 dismiss 方法来实现这一点,并保持调用者活动完整,而无需从自定义视图调用任何更多方法。
您需要在清单中定义活动处理 onConfiguratoinChange,然后在代码中定义它。您可以在此处查看 Google 文档作为示例。http://developer.android.com/guide/topics/resources/runtime-changes.html