Передайте MutableMap из одного фрагмента в другой, Android, Kotlin - PullRequest
1 голос
/ 21 января 2020

Я хочу отправить MutableMap из одного фрагмента в другой.

Но не могу найти способ сделать это.

Я пытался

R.id.fragment_skills -> {
            val fragment = SkillsFragment()
            val oldFrag = HomeFragment()
            supportFragmentManager.beginTransaction().replace(R.id.container, fragment, fragment.javaClass.getSimpleName())
                .commit()
            doneButton.setImageResource(R.drawable.check)
            doneButton.alpha = 1.0f
            page = "skills"
           fragment.artData = oldFrag.artData

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

Изменяемая карта выглядит так на обоих фрагментах.

var artData = mutableMapOf<String,Any>()

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

1 Ответ

0 голосов
/ 21 января 2020

Вы можете изменить mutableMapOf<String, Any>() на HashMap<String, Any>(), а затем передать его как аргумент Bundle, используя putSerializable(yourMap) в вашей транзакции фрагмента, и получить в качестве аргумента в следующем фрагменте и десериализовать его.

Аргумент связки должен реализовывать Serializable, mutableMapOf - нет, но HashMap делает.

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