Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not find active fragment with index -1

Tags:

android

Activity fragment manager problem When change orientation:

Caused by: java.lang.IllegalStateException: Could not find active fragment with index -1
                                                                at

android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:3026) at android.support.v4.app.Fragment.restoreChildFragmentState(Fragment.java:1446) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1380) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740) at com.motors.mobile.core.v2.DaggerIncludeBaseActivity.onCreate(DaggerIncludeBaseActivity.java:26)

Follow my code :

@Override
protected void tabletPortraitInit(Bundle savedInstanceState) {
    super.tabletPortraitInit(savedInstanceState);
    openSubFragment();
}

@Override
protected void tableLandscapeInit(Bundle savedInstanceState) {
    super.tableLandscapeInit(savedInstanceState);
    openSubFragment();
}

protected void openSubFragment() {
    Bundle bundle = getIntent().getBundleExtra(CAR_DETAIL_KEY);
    fragment = new BuyDetailFragment();
    if (getSupportFragmentManager().findFragmentByTag(BuyDetailFragment.TAG) != null)
        fragment = (BuyDetailFragment) getSupportFragmentManager().findFragmentByTag(BuyDetailFragment.TAG);
    fragment.setArguments(bundle);
    menuClickListener = fragment;
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.flMain, fragment, BuyDetailFragment.TAG)
            .commit();
    // init toolbar items
    View tbView = getLayoutInflater().inflate(R.layout.items_detail_menu_layout, toolbar.findViewById(R.id.container), true);
    phone = tbView.findViewById(R.id.phone);
    message = tbView.findViewById(R.id.message);
    link = tbView.findViewById(R.id.notifications);
    site = tbView.findViewById(R.id.site);
    shortlistView = tbView.findViewById(R.id.wishListMenu);
    phone.setOnClickListener((e) -> menuClickListener.clickPhone());
    message.setOnClickListener((e) -> menuClickListener.clickMessage());
    link.setOnClickListener((e) -> menuClickListener.clickNotifications());
    site.setOnClickListener((e) -> menuClickListener.clickSite());
    shortlistView.setOnClickListener((e) -> menuClickListener.clickShortlist());
    Drawable drawable = ContextCompat.getDrawable(this, R.drawable.vector_heart);
    drawable.setColorFilter(ContextCompat.getColor(this, R.color.colorAccent), PorterDuff.Mode.SRC_IN);
    shortlistView.changeIcon(drawable);
}

        There is no my baseActivity
like image 284
Nasimxon Avatar asked Jan 28 '26 10:01

Nasimxon


1 Answers

Does your fragment have setRetainInstance(true)? If so, that may be causing you an issue here, especially if you are using a fragment apart of FragmentStatePagerAdapter.

like image 112
user1715285 Avatar answered Jan 30 '26 01:01

user1715285



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!