我正在为Android开发一个库。这个库由一个自定义视图组成。我希望能够从我的库中检测到何时为活动调用了onConfigurationChanged()。
我的第一个想法是在我自己只实现onConfigurationChanged()的活动中使用startActivity(),但不幸的是,这会在应用程序之上启动一个新的活动。可以在“后台”中运行活动吗?
也许我的方法是错误的?你知道我怎样才能做到这一点吗?
发布于 2011-10-28 17:14:27
所以我试图解决这个问题的方法并不是很好。
我在我的库中添加了一个方法onConfigurationChanged()。这样,使用它的人将不得不从他们的活动中调用这个方法。
问题解决了!
发布于 2012-04-14 01:23:18
我遇到了一个类似的问题--一个自定义的Gallery,它创建了自己的对话框,需要跟踪配置的变化(因为当方向改变时,它会泄漏视图)。
要解决此问题,必须在检测到此类更改时调用dialog.dismiss()。我已经需要主活动来调用自定义视图的一些方法,例如onContextItemSelected和onActivityResult。
我想要一些对用户更透明的东西。在本例中,我通过从View (而不是从Activity)调用onSaveInstanceState中的dismiss方法来实现这一点,并保持调用者活动不变,而不必从自定义视图中调用任何其他方法。
发布于 2011-10-27 03:37:20
您需要在清单中定义该活动处理onConfiguratoinChange,然后在代码中对其进行定义。你可以在这里查看谷歌文档中的一个例子。http://developer.android.com/guide/topics/resources/runtime-changes.html
https://stackoverflow.com/questions/7907685
复制相似问题