부모와 자식간에 의사 소통을 원합니다 fragment
. 나는 많은 게시물을 읽었으나 아무 게시물도 유용하지 않은 것 같습니다.중첩 된 조각 통신
나는 3 Fragments
FragmentA
, FragmentB
및 FragmentC
입니다.
FragmentA
가 FragmentB
및 FragmentB
용 부모 fragment
이다 FragmentC
의 상위 Fragment
이다.
FragmentA
은 탭이 구현 된 및 viewpager
과 함께 EditText
입니다. FragmentB
에는 Tabs가있는 Viewpager
이 있습니다. (기본적으로는 중첩 탭을 사용하고 있지만 권장하지는 않지만 실제로이 시나리오를 사용해야합니다.) FragmentC
은 recyclerView
입니다. 그러면 선택한 탭을 기반으로 한 제품 목록이 표시됩니다. 이것은 나를 위해 잘 작동합니다.
FragmentC
에 검색 기능을 추가하고 싶습니다. (검색은 webservice
에서 수행되고 webservice는 FragmentC
에서 호출됩니다.
private void setupViewPager(ViewPager viewPager, RetailCategoryListArr retailCategoryListArr) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
for (int i = 0; i < retailCategoryListArr.getData().size(); i++) {
RetailerCategoryArr retailerCategoryArr = retailCategoryListArr.getData().get(i);
FragmentB FragB= FragmentB.newInstance(retailerCategoryArr, retailerArr.getUrlIdentifier());
adapter.addFragment(FragB, retailerCategoryArr.getName());
}
viewPager.setAdapter(adapter);
tabs.setupWithViewPager(viewPager);
}
FragmentB
은 또 다른 ViewPager
을 가지고 있습니다.
private void setUpViewPager(ViewPager viewpager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());
for (int i = 0; i < retailerCategoryArr.getChild().size(); i++) {
RetailerCategoryArr.RetailerSubCategoryArr retailerSubCategoryArr = retailerCategoryArr.getChild().get(i);
FragmentC FragC = FragmentC.newInstance(retailerSubCategoryArr.getId(), retailer);
adapter.addFragment(FragC, retailerSubCategoryArr.getName());
}
viewpager.setAdapter(adapter);
tabs.setupWithViewPager(viewpager);
}
그래서, 질문은 내가 FragmentC
에서 FragmentA
의 Edittext
의 textchange
을들을 수있는 방법인가? 인터페이스로 가능하면 어떻게 할 수 있습니까? FragmentC
에서
https://developer.android.com/training/basics/fragments/communicating.html – Kuffs
@Kuffs 답장을 보내 주셔서 감사합니다. 그러나 나는 이미이 글을 읽었으며, 이것이 나의 시나리오에서 어떻게 성취 될 수 있는지를 알지 못한다. 잠깐, 답을 적어주세요. –
문서화 된 의사 소통 방식을 따르는 데 문제가있는 경우 질문을 편집하여 발생한 문제점을 정확히 설명하고 문제가 발생한 이유를 정확하게 설명해야합니다. 아무도 당신을 위해 문서를 복제하고 싶지 않습니다. – Kuffs