我有一个扩展 SherlockActivity 的活动“SearchActivity”。在这个活动中,我有一个选项菜单,其中有一个搜索栏和一个“开始”按钮。在搜索栏中输入的数据必须传递给扩展 SherlockMapActivity 的前一个活动“NavigationActivity”。
这是我的 SearchActivity 代码的一部分:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.go:
Intent intent = new Intent();
intent.putExtra("SearchText", enteredText);
setResult(200, intent);
startActivityForResult(intent, 100);
finish();
break;
}
return true;
}
这是 NavigationActivity 中的 onActivityResult() 方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
System.out.println("In onActivityResult method");
if(data != null && resultCode == 200 && requestCode == 100) {
String text = data.getStringExtra("SearchText");
System.out.println("The data is: " + text);
Toast.makeText(this, "The text entered in the search bar is: " + text, Toast.LENGTH_LONG).show();
}
}
问题是在 NavigationActivity 中永远不会调用 onActivityResult() 方法。按下“开始”按钮后,我可以从 SearchActivity 导航到 NavigationActivity,但无法获取 NavigationActivity 中的数据。你能在这方面帮助我吗?
谢谢你。