Фрагменты, показывающие белый экран при переходе на следующую страницу в Android

Когда я пытаюсь перейти с экрана Home_Fragment на экран второго фрагмента, я получаю белый фоновый экран, а затем, когда я снова пытаюсь перейти от второго фрагмента к Home_Fragment, я получаю белый фон в моем приложении. Пожалуйста, объясните мне, почему я сталкиваюсь с такими проблемами. Я загружаю свой проверенный код.

загрузить код домашнего фрагмента

 private void loadHomeFragment() {
    selectNavMenu();
    setToolbarTitle();
    if (getSupportFragmentManager().findFragmentByTag(CURRENT_TAG) != null) {
        drawer.closeDrawers();
        return;
    }
    Runnable mPendingRunnable = new Runnable() {
        @Override
        public void run() {
            homeFragmentCalled();
        }
    };
    if (mPendingRunnable != null) {
        mHandler.post(mPendingRunnable);
    }
    drawer.closeDrawers();
    invalidateOptionsMenu();
}

Просмотр навигации

 private void setUpNavigationView() {
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.home:
                    navItemIndex = 0;
                    CURRENT_TAG = TAG_TIMETABLE;
                    homeFragmentCalled();
                    break;
                case R.id.nav_performance:
                    navItemIndex = 1;
                    CURRENT_TAG = TAG_PERFORMANCE;
                    secondFragmentCalled();
                    break;

                default:
                    navItemIndex = 0;
            }
            if (menuItem.isChecked()) {
                menuItem.setChecked(false);
            } else {
                menuItem.setChecked(true);
            }
            menuItem.setChecked(true);

            loadHomeFragment();

            return true;
        }
    });

    ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.openDrawer, R.string.closeDrawer) {
        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
        }
    };
    drawer.setDrawerListener(actionBarDrawerToggle);
    actionBarDrawerToggle.syncState();
}

Вызов метода фрагмента для навигации

public void homeFragmentCalled() {
    Log.d("MainActivity ", "homeFragmentCalled called ");
    homeFragment = new HomeFragment();
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
    fragmentTransaction.replace(R.id.frame, homeFragment, "homeFragment");
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();
}

public void secondFragmentCalled() {
    performanceFragment = new PerformanceFragment();
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
    fragmentTransaction.replace(R.id.frame, performanceFragment, "performanceFragment");
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();
}

Я погуглил и нашел много вопросов. Я следил за многими ответами, но такая же ошибка - это код, который я использовал

replace'add

Изменил цвет фона фрагмента, а также сделал

fragmentTransaction.addToBackStack(null);

Извините за мой английский, заранее спасибо.

Вы можете сказать, что есть в PerformanceFragment и PerformanceFragment?

kishna.147 27.03.2018 15:38

попробовать удалить fragmentTransaction.addToBackStack(null);?

ruben 27.03.2018 15:43

в fragmentTransaction.addToBackStack (null) вместо передачи null передает уникальное значение каждый раз при замене фрагмента. и после проверки вашего Home и PerformanceFragment в обоих представлениях, раздувается или нет, я думаю, что эти два могут быть проблемой. пожалуйста, поделитесь кодом фрагмента вы оба.

Lovekush Vishwakarma 27.03.2018 15:44

Я пытаюсь удалить эту строку ==> fragmentTransaction.addToBackStack (null); , Но такая же проблема.

Pans 27.03.2018 15:49

открытый класс HomeFragment расширяет фрагмент, реализует View.OnClickListener {public HomeFragment () {} @Override public View onCreateView (LayoutInflater inflater, контейнер ViewGroup, Bundle savedInstanceState) {View rootView = inflater.inflate (R.layout.testing, container, false); return rootView; }}

Pans 27.03.2018 15:58

@LovekushVishwakarma

Pans 27.03.2018 16:01
0
6
356
0

Другие вопросы по теме