2015-05-05 11 views
12

Przyjrzałem się wszystkim pytaniom na Stackoverflow, ale nie znalazłem jednoznacznej odpowiedzi na to pytanie. Jak ustawić ustawić znacznik na Fragment, aby można było go odzyskać przez getFragmentManager().findFragmentByTag()? Czy ktoś mógłby podać prosty przykład kodu, jak utworzyć tag na Fragment?Jak ustawić znacznik do fragmentu w systemie Android?

Odpowiedz

24

Można ustawić Tag podczas transakcji fragmentu.

Na przykład jeśli jest to replace transakcja może to zrobić tak:

FragmentManager fragmentManager = getSupportFragmentManager(); 
fragmentManager.beginTransaction() 
     .replace(R.id.fragment_container, mFragment, TAG) 
     .commit(); 

Jeśli Fragment używasz jest nie z biblioteki Wsparcia, użyj zamiast getSupportFragmentManager()getFragmentManager().

-1

Użyłem tej funkcji, aby zapewnić między Dialog box i Fragment. Po wprowadzeniu zmian w Dialogbox aplikacja może z łatwością aktualizować Fragment UI

MyFragment.

DialogFragment dialog = LastCycleDate.newInstance(last_period_start); 
     dialog.setTargetFragment(this, 0); 
     dialog.show(getActivity().getSupportFragmentManager(), "showLastCycleDate"); 

MyDailogBox.java

Fragment targetFragment; = getTargetFragment(); 
if(targetFragment instanceof IntroParentFragment){ 
      IntroParentFragment introParentFragment = (IntroParentFragment) targetFragment; 
      introParentFragment.mutualMethods.setLastCycleStartDay(start_date); 
     }