0

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

这可能吗?

4

2 回答 2

0

在 SearchActivity 返回查询之后,在您进行搜索之前,您可以创建一个意图并将查询添加为额外的,如下所示:

Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("SEARCH_QUERY", query);
startActivity(intent);

然后在您的 MainActivity 中,您可以检查该额外内容:

getIntent().getStringExtra("SEARCH_QUERY")

如果它不为空或不为空,请进行搜索并将结果交给您的 listView 适配器,否则执行您的 MainActivity 正在执行的其他操作。

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

于 2013-04-25T20:31:45.823 回答
0

使用 asynctask 而不是新活动可能会更好。如果必须使用活动,可以使用 startActivityForResult

于 2013-04-25T20:21:05.980 回答