2015-04-27 1 views
0

У меня есть Activity_1 с Fragment_1. И в Fragment_1 я начинаю новый Activity_2 с вложенными Fragment_2_1 и Fragment_2_2:Не удается вызвать onActivityResult после результата настройки в Фрагменте

getActivity().startActivityForResult(a, Constants.REQUESTCODE_REJECT_PROPOSAL); 

onActivityResult Метод является переопределение в Activity_1 и Fragment_1:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    Toast.makeText(getActivity(), TAG + "Got Result " + String.valueOf(resultCode),  Toast.LENGTH_SHORT).show(); 
    super.onActivityResult(requestCode, resultCode, data); 
    Toast.makeText(getActivity(), TAG + "Got Result " + String.valueOf(resultCode),  Toast.LENGTH_SHORT).show(); 
    if (resultCode == getActivity().RESULT_OK) 
    { 
     if (requestCode==Constants.REQUESTCODE_REJECT_PROPOSAL) 
     { 
      Log.i(TAG + " onActivityResult", " REQUESTCODE_REJECT_PROPOSAL"); 
      getMyProposals(); 
     } 
    } 
} 

Когда Activity_2 началась, Fragment_2_1 проявляет. При нажатии кнопки я заменяю Fragment_2_1 фрагментом 2_2. И я закончу Activity_2 в Fragment_2_2, нажав кнопку:

@Override 
     public void onClick(View v) { 

      getActivity().setResult(getActivity().RESULT_OK); 
      getActivity().finish(); 
     } 

onActivityResult Но почему-то не называют ни в Fragment_1 и Activity_1. Что может

ответ

0

Проблема решена. Причина заключалась в установлении

android:launchMode="singleInstance" 

для Activity_1 в AndroidManifest.

Снятие этого имущества разрешило мою проблему.