के कारण getchildfragmentmanager मैं viewPager जो टुकड़े इन टुकड़ा में से प्रत्येक के चित्र प्रदर्शित करने के लिए viewpager है और बैनरनेस्टेड टुकड़े दुर्घटना
प्रत्येक खंड छवि अनुकूलक मैं नीचे के रूप में getChildFragmentManager() गुजर रहा करने के लिएअब शामिल है
CarouselAdapter carouselAdapter = new CarouselAdapter(getChildFragmentManager());
लेकिन उपरोक्त कोड क्रैश का कारण बन रहा है जबकि दर्शक संदेश को निम्नलिखित संदेश दिखा रहा है
java.lang.IllegalArgumentException: No view found for id 0x7f1000ef
लेकिन अगर मैं getFragmentMana पास करता हूं ger() यह क्रैश नहीं हो रहा है लेकिन कुछ समय के लिए एडेप्टर रिक्त हो जाता है, किसी भी विचार को नेस्टेड टुकड़ों को कैसे संभालना है।
मैं दोनों viewpagers के लिए FragmentPagerAdapter उपयोग कर रहा हूँ, लेकिन अभी भी इसके बाद
काम नहीं कर रहा
java.lang.IllegalArgumentException: No view found for id 0x7f1000ef (com.packagename:id/viewPagerBanners) for fragment MainBannerFragmentNew{308cb84 #0 id=0x7f1000ef android:switcher:2131755247:0}
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1292)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1523)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1585)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2832)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2199)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1323)
at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)
at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1969)
at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:620)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
at android.support.v4.view.ViewPager$3.run(ViewPager.java:273)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:603)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
बाद हिंडोला एडाप्टर कोड
public class CarouselAdapter extends FragmentPagerAdapter {
private List<CarouselItem> carouselItemsList;
public CarouselAdapter(FragmentManager fm, List<CarouselItem> carouselItemsList) {
super(fm);
this.carouselItemsList = carouselItemsList;
}
@Override
public Fragment getItem(int position) {
return MainBannerFragmentNew.newInstance(R.drawable.gray_logo, carouselItemsList.get(position));
}
@Override
public int getCount() {
return carouselItemsList.size();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
}
}
बाद टैब एडाप्टर कोड
रपट है crashlog हैpublic class HomeTabsPagerAdapter extends FragmentPagerAdapter {
ArrayList<HomeTabItem> homeTabItems;
public HomeTabsPagerAdapter(FragmentManager manager, ArrayList<HomeTabItem> homeTabItems) {
super(manager);
this.homeTabItems = homeTabItems;
}
@Override
public Fragment getItem(int position) {
HomeTabItem homeTabItem = homeTabItems.get(position);
return OfferZoneFragment.newInstance(homeTabItem.getId());
}
@Override
public int getCount() {
return homeTabItems.size();
}
@Override
public CharSequence getPageTitle(int position) {
return homeTabItems.get(position).getTitle();
}
}
हर रपट टैब टुकड़ा recyclerview इस recylerview निम्नलिखित viewpager हिंडोला शामिल है bindview
में कोड((BannerHolder) holder).viewPager.setAdapter(new CarouselAdapter(fragmentManager, homePageItems.get(position).carouselItems));
((BannerHolder) holder).circlePageIndicator.setViewPager(((BannerHolder) holder).viewPager);
final float density = context.getResources().getDisplayMetrics().density;
((BannerHolder) holder).circlePageIndicator.setBackgroundColor(0x00000000);
((BannerHolder) holder).circlePageIndicator.setRadius(5 * density);
((BannerHolder) holder).circlePageIndicator.setFillColor(ContextCompat.getColor(context, R.color.appthemecolor));
((BannerHolder) holder).circlePageIndicator.setPageColor(0xFFFFFFFF);
((BannerHolder) holder).circlePageIndicator.setStrokeColor(0x00000000);
((BannerHolder) holder).circlePageIndicator.setStrokeWidth(2 * density);
if (((BannerHolder) holder).viewPager.getAdapter().getCount() <= 1) {
((BannerHolder) holder).circlePageIndicator.setVisibility(View.GONE);
} else {
((BannerHolder) holder).circlePageIndicator.setVisibility(View.VISIBLE);
}
getChildFragmentManager() का उपयोग करना इसे करने का सही तरीका है। पता नहीं क्यों यह आपके मामले में काम नहीं कर रहा है। जांचें कि क्या अन्य चीजें सही हैं। – Pruthviraj
आपके द्वारा बनाई गई 'कैरोसेल एडाप्टर' है या किसी पुस्तकालय से उधार लिया गया है? – Nilabja
कृपया कोड प्रदान करें जो क्रैश और पूर्ण क्रैश लॉग का कारण बन रहा है। –