#kotlin
#kotlin
Вопрос:
Я пытаюсь создать IntArray
, который определен как встроенный в качестве аргумента конструктора, например:
adapter = SimpleAdapter(this, mylist, R.layout.activity_dashboard,
listOf<String>("judul","Keterangan","Gambar").toTypedArray(), IntArray(){R.id.txtJudul,(R.id.txt_keterangan),(R.id.img)}
)
Но я получаю эту ошибку:
use ';' to sparate expressions on the same line
Проблема заключается в первой запятой в IntArray(){R.id.txtJudul,(R.id.txt_keterangan),(R.id.img)}
Как мне создать встроенный intArray без получения этой ошибки?
Комментарии:
1.Используйте intArrayOf
intArrayOf(R.id.txtJudul, R.id.txt_keterangan, R.id.img)
2. Комментарии @Ani не должны использоваться для предоставления рекомендаций по разрешению — для этого и нужны ответы. Если вы не хотели писать ответ, потому что чувствовали, что этот вопрос является дубликатом, пожалуйста, найдите дубликат для закрытия вместо того, чтобы комментировать решение. Ответы, размещенные в виде комментариев, могут привести к оставлению вопросов, что не очень хорошо для добровольцев, которые на самом деле публикуют ответы, а затем не удостаиваются зеленой галочки. meta.stackexchange.com/q/230676/352329
Ответ №1:
Конструктор for IntArray
так не работает — он принимает длину и функцию инициализатора, которая принимает индекс и возвращает значение по этому индексу. Однако это слишком сложно для этого.
Для создания IntArray
строки с вашим кодом просто используйте intArrayOf
функцию верхнего уровня (вы также можете удалить лишние круглые скобки из вашего кода) вместо IntArray(){ ... }
:
intArrayOf(R.id.txtJudul, R.id.txt_keterangan, R.id.img)