0

네트워크의 데이터를 조각으로로드하고 싶습니다. Activity 안에는 ViewPager이 있고 그 안에 조각을 제공하기 위해 FragmentPagerAdapter을 사용하고 있습니다. 문제는 다음과 같습니다.ListFragments에 데이터로드

ViewPager의 모든 조각이 만들어지고 데이터를 표시 할 준비가되었는지 어떻게 활동에서 감지 할 수 있습니까? 파편에 활동 내용이 담겨 있어야한다는 정보를 어떻게 표시 할 수 있습니까?

답변

1

ViewPager의 모든 조각이 생성되어 데이터를 표시 할 준비가되었는지 어떻게 확인할 수 있습니까?

이것은 약간 이상합니다. ActivityViewPager 조각이 모두 초기화되는 시점을 알 필요가 없습니다 (사용자가 실제로 볼 수 있으며 (setOffScreenPageLimit()으로 엉망이 아닌 경우 각면에 하나씩 사용 가능). 나머지를 업데이 트하는 의미).

활동 내에 데이터가 있음을 알려주려면 어떻게해야합니까? 을 표시해야합니까?

조각은 Activity 데이터로드 이벤트에 대한 수신기로 등록 할 수 있습니다. Activity은 데이터를 가져온 다음 등록 된 모든 조각 (업데이트하지 말아야 할 경우 보유하지 않으려면 WeakReferences에 저장해야 함)에서 update 메소드를 호출합니다. 가장 큰 문제는

또 다른 해키 접근법은 Activity에서 같은 것을 사용하는 것입니다 항목을 업데이트하려고 위험을 감수 것입니다 : 조각의 나머지는 그들이 얻을 때 새로운 데이터를 사용할 수있는 확인합니다

// get the current fragment(add/subtract one for the available fragments on each side of the curently visible 
Fragment f = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.ViewPagerId + ":" + mViewPager.getCurrentItem()); one.) 
f.update(); 

재현.