我有一个MapActivity,当按下搜索按钮时,它会显示Android搜索框.SearchManager管理对话框,并将用户的查询传递给可搜索的活动,该活动搜索SQLite数据库并使用自定义适配器显示结果.
这很好 - 我从显示的数据库中得到了正确的结果.
但是,我想要做的是在用户点击搜索结果时在地图上的MapActivity中显示结果.目前,这意味着启动一个新的MapActivity,使用Bundle传递搜索结果.
我认为更清洁的方法是将搜索结果传递回原始活动,而不是开始新的活动.目前,我的活动堆栈是MapAct - > SearchManager - >搜索结果 - >新MapAct.这意味着从新MapAct中按"后退"将返回查询结果,然后返回到原始MapAct.
似乎在搜索结果中,调用finish()不会导致在调用MapActivity中调用onActivityResult.
任何想法如何获得此回调并维护合理的活动堆栈?