我一直在與這個問題爭取了幾個小時,並已經看過幾乎所有其他職位關於這個問題,但無法找到我要去哪裏錯了。請讓我知道我是否缺少一些簡單的東西。startActivityForResult從片段不工作
活動1(承載CreateFragment)
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
((CreateFragment) getFragmentManager().findFragmentByTag(CreateFragment.TAG)).resultReturned(requestCode, resultCode, data);
}
CreateFragment:
private void chooseContact() {
Intent chooseContactInappIntent = new Intent(getActivity(), ContactPickerActivity.class);
getActivity().startActivityForResult(chooseContactInappIntent, PICK_CONTACT_REQUEST);
}
public void resultReturned(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_CONTACT_REQUEST:
if (resultCode == Activity.RESULT_OK) {
//Do Cool Things
default:
break;
}
}
ContactPickerActivity:
@Override
public void onContactSelected(Object data) {
Intent returnIntent = new Intent();
returnIntent.putExtra("data",data);
setResult(RESULT_OK,returnIntent);
finish();
}
活動一臺主機一個CreateFragment,當使用點擊了按鈕CreateFragment片段調用啓動一個新Activity的chooseContact()方法ForResult。 ContactPickerActivity然後向用戶顯示聯繫人列表。當用戶選擇一個聯繫人時,調用onContactSelected方法創建一個新的意圖來傳回選定的數據,然後調用完成。我以爲這會調用基本活動或CreateFragment中的onActivityResult,但都不會被調用。
任何想法?
感謝, 彌敦道