Как передать элементы ArrayList Of Pair в vararg - PullRequest
0 голосов
/ 09 января 2020

Итак, у меня есть эта функция

private fun gotoDestinationMain(id: Int, bundle: Bundle?, sharedView: ArrayList<Pair<View, String>>?) {

        var extras: FragmentNavigator.Extras? = null

        if (id == 0) {
            Toast.makeText(context, "Not implemented yet", Toast.LENGTH_SHORT).show()
            return
        }

        if (sharedView != null) {
            extras = FragmentNavigatorExtras()
        }

        findNavController().navigate(id, bundle, null, extras)
    }

Функция FragmentNavigatorExtras() принимает vararg sharedElements: Pair<View, String>.

Так как я могу передать элементы ArrayList в функцию?

Я видел это , но это не сработало.

1 Ответ

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

попробуйте это с помощью оператора распространения:

val typedArray: Array<Pair<View, String>> = sharedView.toTypedArray()
FragmentNavigatorExtras(*typedArray)

документация: https://kotlinlang.org/docs/reference/functions.html#variable -номер-аргументов-varargs

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