동일한 ID를 가진 컨테이너에 조각 추가
-
21-12-2019 - |
문제
"홀더" 조각 간 스와이프를 구현하는 ViewPager가 있습니다.그리고 그 안에는 해당 컨테이너에 여러 조각을 추가해야 합니다.
문제는 내가 사용하고 있다는 것이다. FragmentTransaction.add(containerID, fragment);
, 그러나 ViewPager에는 여러 개의 홀더 조각이 있으므로 모든 조각은 추가를 호출하는 조각이 아닌 동일한 홀더 조각에 추가됩니다.
이 문제를 해결하기 위한 좋은 방법에 대한 아이디어가 있는 사람이 있나요?
다음은 홀더 프래그먼트 내부에 프래그먼트를 추가하는 코드입니다.
arrayFragments = new ArrayList<DiaAgendaFragment>();
DiaAgendaFragment objFragment;
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
//this will be set accordingly later for each fragment
Time dataFragment = new Time();
dataFragment.setToNow();
//instantiate and set fragments
for (int i = 0; i < 5; i++) {
objFragment = DiaAgendaFragment.newInstance(5, dataFragment);
arrayFragments.add(objFragment);
//pega a View pelo nome e adiciona o fragment
transaction.add(getActivity().getResources().getIdentifier("agenda5d_activity_fragment"+i, "id", getActivity().getPackageName()), arrayFragments.get(i));
//codigo de teste
dataFragment.monthDay += 1;
}
transaction.commit();
해결책
아이를 이용해야 해요 FragmentManager
추가하고 싶다면 Fragments
다른 사람에게 Fragment
.일반 사용하기 FragmentManager
당신이 스스로 알아낸 대로 작동하지 않을 것입니다.
당신의 Fragment
:
FragmentManager manager = getChildFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
...
transaction.commit();
제휴하지 않습니다 StackOverflow