【发布时间】:2011-06-16 00:36:31
【问题描述】:
我有一个 MapActivity,它会在按下搜索按钮时显示 Android 搜索框。 SearchManager 管理对话框,并将用户的查询传递给可搜索的活动,该活动搜索 SQLite 数据库并使用自定义适配器显示结果。
这很好用 - 我从显示的数据库中得到了正确的结果。
但是,当用户单击搜索结果时,我想做的是在地图上的 MapActivity 中显示结果。目前,这意味着启动一个新的 MapActivity,使用 Bundle 传递搜索结果。
我认为更简洁的方法是将搜索结果传递回原始活动,而不是开始一个新活动。目前,我的活动堆栈进入 MapAct -> SearchManager -> 搜索结果 -> 新 MapAct。这意味着从新 MapAct 中按“返回”将返回查询结果,然后返回原始 MapAct。
似乎在Search Result中,调用finish()不会导致在调用MapActivity中调用onActivityResult。
任何想法如何获取此回调并维护合理的活动堆栈?
【问题讨论】: