我的应用程序有一个MainActivity,其中包含一个搜索按钮(在许多其他主要组件中)。单击搜索按钮后,将调用OnSearchRequested(),SearchableActivity将执行搜索并返回结果。现在我有了结果,我希望ListView出现在MainActivity中,而不是在Searchable Activity中。
这可能吗?
答案 0 :(得分:0)
使用asynctask而不是新活动可能会更好。如果必须使用活动,则可以使用startActivityForResult
答案 1 :(得分:0)
在SearchActivity返回查询之后,在您进行搜索之前,您可以创建一个intent并将查询添加为额外的,如下所示:
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("SEARCH_QUERY", query);
startActivity(intent);
然后在您的MainActivity中,您可以检查额外的内容:
getIntent().getStringExtra("SEARCH_QUERY")
如果它不为空或空白,则执行搜索并将结果传递给listView适配器,否则执行MainActivity正在执行的操作。
假设您在每个列表中都有相同类型的数据,我建议您创建一个主要活动和搜索活动都会使用的列表片段。