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();
}
}
問題は、onActivityResult()メソッドがNavigationActivityで呼び出されないことです。[移動]ボタンを押すと、SearchActivityからNavigationActivityに移動できますが、NavigationActivityでデータを取得することはできません。この面で私を助けてくれませんか?
ありがとうございました。