1

У меня есть два фрагмента с именем HomeworkListFragment и HomeworkFragment.onActivityResult() не вызывается с двумя фрагментами

ОБА INHERIT ОТ -> Фрагмент

Intent i = new Intent(getActivity(),HomeworkPagerActivity.class); 
i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, homework.getId()); 
startActivityForResult(i,REQUEST_DELETE_HOMEWORK_ID); 

Это, как я начинаю MyFragment от MyListFragment.

После того как я закончил, я хочу назвать это от MyFragment:

Intent i = new Intent(); 
i.putExtra(EXTRA_DELETE_HOMEWORK_ID, mHomework.getId()); 
getActivity().setResult(Activity.RESULT_OK, i); 
//Toast.makeText(getActivity(), "deleting?", Toast.LENGTH_SHORT).show(); 
//getActivity().finish(); 
NavUtils.navigateUpFromSameTask(getActivity()); 

Назад в MyListFragment Я реализовал:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Toast.makeText(getActivity(), "HERE", Toast.LENGTH_SHORT).show();  
    if (requestCode == REQUEST_DELETE_HOMEWORK_ID){ 
     String filename = data.getStringExtra(HomeworkFragment.EXTRA_DELETE_HOMEWORK_ID); 
     Toast.makeText(getActivity(), "ID: "+filename, Toast.LENGTH_SHORT).show();  
    } 
} 

Однако этот метод никогда не вызывается!

Я объявил их обоих в моем манифесте:

<activity 
     android:name=".HomeworkListFragment" 
     android:label="@string/app_name" 
     android:launchMode="singleTop" > 
     <meta-data android:name="android.support.PARENT_ACTIVITY" 
      android:value=".HomeworkTabFragment"/> 
    </activity> 
    <activity 
     android:name=".HomeworkFragment" 
     android:label="@string/app_name" > 
     <meta-data android:name="android.support.PARENT_ACTIVITY" 
      android:value=".HomeworkListFragment"/> 
    </activity> 

является частью ответа с: NavUtils.navigateUpFromSameTask (getActivity());

Восстановлен ли MyListFragment?

+1

Вы должны позвонить getActivity(). Finish(); в child Activity – pskink

+0

Так что я также называю NavUtils.navigateUpFromSameTask (getActivity()); в дополнение к этому? – wayway

+0

После внесения этого изменения он все равно не вызывает onActivityResult(). Независимо от того, какую комбинацию я стараюсь. С помощью navigateupfromsametask и получения активности(). Finish(); И он тоже. Восстановлен ли MyListFragment? – wayway

ответ

0

Как ни странно, я пропускал из линии:

super.onActivityResult(requestCode, resultCode, data); 

я ссылается на неправильную линию ранее и не мог понять, почему. Теперь у меня это есть!

Смежные вопросы