Android搜索功能;在原始活动中显示结果?

时间:2013-04-25 20:07:25

标签: android

我的应用程序有一个MainActivity,其中包含一个搜索按钮(在许多其他主要组件中)。单击搜索按钮后,将调用OnSearchRequested(),SearchableActivity将执行搜索并返回结果。现在我有了结果,我希望ListView出现在MainActivity中,而不是在Searchable Activity中。

这可能吗?

2 个答案:

答案 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正在执行的操作。

假设您在每个列表中都有相同类型的数据,我建议您创建一个主要活动和搜索活动都会使用的列表片段。