현재 ViewPager 에 있 는 Fragment 대상 가 져 오기

2836 단어 Android
글 참조 사이트:http://stackoverflow.com/questions/7379165/update-data-in-listfragment-as-part-of-viewpager
최근 프로젝트 를 하려 면 ViewPager + Fragment 조합 을 사용 해 야 하 는데 조합 사용 이 어렵 지 않다 는 것 을 알 게 되 었 습 니 다. 조합 사용 은 Fragment Activity 에 ViewPager 대상 을 추가 한 다음 에 각각 해당 하 는 Fragment, 예 를 들 어 Fragment A, Fragment B 를 만 든 다음 에 Adapter 를 만 든 다음 에 ViewPager 좌우 로 미 끄 러 질 때 현재 의 Fragment 를 각각 보 여주 면 됩 니 다.
문 제 는 Fragment 에서 Public 방법 이 있 는데 Fragment Activity 에서 호출 해 야 합 니 다. 저 같은 조합 모드 에서 Frament 가 Id 를 설정 하지 않 았 고 tag 를 설정 하지 않 았 습 니 다. Fragment 대상 을 얻 고 호출 하 는 방법 이 어렵 습 니 다.그래서 안 드 로 이 드 공식 문 서 를 보 니 안 드 로 이 드 공식 대 신의 글 은 모두 Fragment 에 Listenner 를 설정 한 다음 에 Fragment Activity 에서 계승 한 다음 에 데 이 터 를 얻 으 면 제 문 제 를 해결 할 수 없다 는 것 을 알 게 되 었 습 니 다.그래서 구 글 은 다음 과 같은 답 을 발견 했다.
HomeListFragment fragment = (HomeListFragment) getSupportFragmentManager().findFragmentByTag(
"android:switcher:"+R.id.viewpager+":0");
// could be null if not instantiated yet
if(fragment != null)  {
	if(fragment.getView() != null) {
		// no need to call if fragment's onDestroyView() 
		//has since been called.
		fragment.updateDisplay(); // do what updates are required
	}
}

현재 Fragment 의 번 호 를 tag 로 교묘 하 게 변환 한 다음 현재 Fragment 대상 을 가 져 옵 니 다.

좋은 웹페이지 즐겨찾기