Backstack фрагмента с фрагментом вкладки - PullRequest
0 голосов
/ 11 октября 2018

У меня есть родительский фрагмент, который содержит 2 фрагмента табуляции.

  1. ParentFragmet

  2. TabFragment1

  3. TabFragment2

  4. NewFragment

Теперь из TabFragment1 нажмите кнопку, чтобы открыть новый фрагмент.Из newFragment я выбираю значения и нажимаю на кнопку, вызывающую

(activity as MainActivity).supportFragmentManager.popBackStack()

И один метод интерфейса, который обновляет представление

 tabFrag1InterFace?.onRefresh(MyValue)

Теперь в TabFragment1 Ovverride метод OnRefresh и его вызовправильно.

TabFragment1

override fun onRefresh(myValue) {
    Log.i(TAG,"TabFragment1 onRefresh Before postDelay")
    Handler().postDelayed({
        Log.i(TAG,"TabFragment1 onRefresh after postDelay")
    }, 3000)
}

Но когда я использую значение newFragment и задаю в текстовом виде, значение не обновляется.

Я столкнулся с той же проблемой в обычном фрагменте, но хотя я добавляю postDelay в нормальном фрагменте, он работает как шарм, но то же самое не будет работать во фрагментах Tab.

Когда я отлаживаю весьВсплывающий вызов процесса I Вызов onResume ParentFragment и перенаправление на метод TabFragment1 по умолчанию, а также его вызывающий интерфейс OnRefresh() метод.

Журнал, который я получаю, как показано ниже.

10-11 15:35:16.710 10208-10208/com.app I/TabFragment1: TabFragment1 clicked for NewFragment
10-11 15:35:16.783 10208-10208/com.app I/NewFragment: NewFragment onCreateView
10-11 15:35:48.440 10208-10208/com.app I/NewFragment: NewFragment popBackStack(Clicked submit)
10-11 15:35:48.453 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh Before postDelay
10-11 15:35:48.488 10208-10208/com.app I/ParentFragent: Called Parent Frag onCreateView
10-11 15:35:48.538 10208-10208/com.app I/ParentFragent: Navigate to TabFragment1 from Parent Frag
10-11 15:35:48.760 10208-10208/com.app I/ParentFragent: Called Parent Frag OnResume
10-11 15:35:51.467 10208-10208/com.app I/TabFragment1: TabFragment1 onRefresh after postDelay

Пожалуйста, помогите В любом случаеобновить представление, потому что мне нужно отобразить данные, выбранные из NewFragment.

1 Ответ

0 голосов
/ 20 октября 2018
supportFragmentManager
    .beginTransaction()
    .replace(R.id.content_frame, foFragment).addToBackStack(null)
    .commit()

Заменить на

supportFragmentManager
    .beginTransaction()
    .add(R.id.content_frame, foFragment).addToBackStack(null)
    .commit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...