Kotlin передача переменной количества аргументов в функцию - PullRequest
0 голосов
/ 27 января 2020

В Картах Google есть функция, которая позволяет передавать любое количество аргументов. Но я не знаю, сколько аргументов я хочу передать заранее: (

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

polyLine= gMap.addPolyline(
            PolylineOptions()
                .add(_moments.get(0).position,
                    _moments.get(1).position,
                    _moments.get(2).position
                )
          )

Как-то так?

polyLine= gMap.addPolyline(
            PolylineOptions()
                .add( for (i in 1..MAX_LIST_COUNT) {_moments.get(i).position} )
          )

Спасибо за любую помощь, ребята!

1 Ответ

3 голосов
/ 27 января 2020

Вместо этого вы можете использовать addAll:

PolylineOpions().addAll(_moments.map { it.position })

Если вам просто интересно, как передать что-то в метод vararg, взгляните на оператор распространения для функций vararg . Пример использования:

PolylineOptions().add(*_moments.map { it.position }.toTypedArray())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...