Как заменить фрагмент на фрагмент другого действия? - PullRequest
0 голосов
/ 14 апреля 2020

Предположим, у вас есть 2 действия, 1-е действие - это основное действие с нижней панелью навигации, которая имеет 3 фрагмента: домашняя страница, поиск, уведомление, и 2-е действие - это действие профиля, которое содержит фрагмент профиля. Так что теперь у меня есть кнопка в основной деятельности, которая позволяет мне профилировать активность, поэтому нижняя навигация здесь не то, что мне нужно.

Но теперь в поисковом фрагменте, когда я ищу пользователя и нажимает на его профиль, поиск фрагмент следует заменить на фрагмент профиля. Я сделал это

 profileButton.setOnClickListener {
           startActivity(Intent(this@MainActivity, ProfileActivity::class.java ))
        }

выше код из MainActivity в порядке, это то, что я хочу, но теперь в классе UserAdapter,

holder.userItemView.setOnClickListener {
                //...some code for sharedPreference

             //the below code works for intent but i won't it
            // mContext.startActivity(Intent(mContext, ProfileActivity::class.java )) 

           //I want this but this is not working
              (mContext as FragmentActivity).supportFragmentManager.beginTransaction()
                        .replace(R.id.profile_fragment_container, ProfileFragment()).commit()
            }

1 Ответ

0 голосов
/ 16 апреля 2020

Просьба переместить логи замены фрагмента c из адаптера в действие, которое содержит контейнер замены (profile_fragment_container). Потому что в адаптере не могу найти тот запасной контейнер.

Вы можете обрабатывать через слушателя, когда кликаете в адаптере.

Надеюсь, эта помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...