gpt4 book ai didi

android - 从 SearchManager Activity 获取结果到 android 中的主要 Activity

转载 作者:太空狗 更新时间:2023-10-29 12:58:00 25 4
gpt4 key购买 nike

用例: Activity A 是主要 Activity 。而 Activity B 是 SearcActivity (SearchManager)。 Activity B 是 ListActivity,因此无论结果如何,结果都会显示在列表中。用户单击列表后,我希望将该列表中的选定项返回给 ActivityA。

我做了什么?我可以使用“onSearchRequested()”在按钮上调用 SearchActivity。在 ActivityB 中,我通过“setListAdapter(adapter)”显示搜索结果。使用“onListItemClick”,我可以获得用户在列表中选择的选项。

现在我尝试通过以下代码将结果发送回 ActivityA

Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("item", l.getItemAtPosition(position).toString());
intent.putExtras(bundle);
setResult(RESULT_OK, getIntent() );
finish();

在 ActivityA 中,我尝试读取“onActivityResult”中的结果。

Bundle bundle = data.getExtras();
String strItem = bundle.getString("item");
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Item Selected");
alertDialog.setMessage("Item = " + strItem);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();

问题:我注意到,一旦 Activity A 恢复,就根本不会调用“onActivityResult”。因此我没有看到任何对话。另外,我无法验证 SearchActivity 是否真的向 ActivityA 发送了任何内容。

那么小伙伴们,我该如何抓取ActivityB发送过来的数据。

最佳答案

我认为这是 How to handle callback from Search Manager? 的副本.

Mario Lenci 是正确的,当调用 onSearchRequested() 时,您的 Activity B 不是通过 startActivityForResult 启动的。

参见 my answer to that question here .实际上,您可以将 Activity A 设为可搜索 Activity 以获取查询并手动启动 Activity B 以获得结果。

关于android - 从 SearchManager Activity 获取结果到 android 中的主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com