замена фрагмента происходит сразу после завершения программы - PullRequest
1 голос
/ 06 февраля 2020

У меня есть основное действие с фрагментом списка на элементе клика, который он заменяет на «Фрагмент». В «Фрагменте» есть кнопка «Пуск», при нажатии на нее ее нужно заменить на «Фрагмент B», а затем выполнить exe c функции, но этого не происходит, и при нажатии кнопки «Пуск», «Фрагмент» застрял до вся функция 'B фрагмент' выполняется, и только затем показывает 'B фрагмент', в чем может быть проблема?

основная функция деятельности:

public void onTestStarted(Class testClass) {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    mRunning = true;
    mTestFragment=TestFragment.newInstance(testClass);
    replaceFragment(mTestFragment);
    mThreadsManager = new ThreadsManager(testClass,mHandler);
        mThreadsManager.startTest();
}



public void replaceFragment(Fragment fragment){
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment_container, fragment);
    transaction.addToBackStack(null);
    transaction.commit();
}

Заранее спасибо

1 Ответ

0 голосов
/ 09 февраля 2020

наконец-то мне удалось решить это с помощью многопоточности (поток обрабатывает «класс B», выполняющий c функции). Я установил процесс потока в качестве фонового приоритета, и он работает ....

...