Для школы я должен сделать проект для Android с одним заданием и несколькими фрагментами. В моем проекте возможно добавить новую встречу (= новая вкладка) в мой MainFragment с данными из другого фрагмента. Или, по крайней мере, так и должно быть.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что, когда я хочу вернуться к своему главному фрагменту с вкладками, я должен переделать свой фрагмент (из-за фрагментов, разрушающих Android) и переключиться на него. Но прежде чем перейти к моему фрагменту, я хочу добавить новую вкладку в TabHost с моими новыми данными.
Однако этот TabHost не имеет значения.
Я действительно не знаю, как создать новую вкладку для моего TabHost из другого фрагмента. Я надеюсь, что кто-нибудь может мне помочь.
Когда я нажимаю кнопку с плавающим действием, я передаю свои данные (здесь список) FragmentSwitcher (My mainActivity, который включает этот интерфейс)
fab_save.setOnClickListener {
fragmentSwitcher!!.showMainFragmentWithNewTab(playableCharacters)
}
В mainActivity (FragmentSwitcher) я загружаю свой MainFragment с вкладками, хочу добавить новую вкладку с данными, а затем показываю свой фрагмент
override fun showMainFragmentWithNewTab(playableCharacters: ArrayList<PlayableCharacter>) {
val mainFragment = supportFragmentManager.findFragmentByTag("MainFragment")!! as MainFragment
mainFragment.addTab(playableCharacters)
switchFragment(mainFragment)
}
В моем MainFragment у меня есть метод для создания вкладок. tab1 - это идентификатор моего переработчика, который я хочу заполнить списком играбельных персонажей
fun addTab(playableCharacters: ArrayList<PlayableCharacter>) {
spec.setIndicator("Encounter ${++teller}")
tabHost.addTab(spec)
tab1.layoutManager = LinearLayoutManager(context, LinearLayout.VERTICAL, false)
tab1.adapter = EncounterAdapter(playableCharacters)
}
Я действительно надеюсь, что кто-нибудь может мне помочь, так как я застрял в этом вопросе.
Если вы хотите лучше просмотреть мой код, вот моя ссылка на github с исходным кодом.