Я новичок в Kotlin для Android. У меня есть несколько глупых вопросов, на которые я не могу найти ответы.
Первый вопрос. Например, у меня есть такой код
class myAdapter(context: Context, val list: List<DataSource>)
: ArrayAdapter<DataSource>(context, 0, list){
Если я напишу так (без аргументов)
class myAdapter(context: Context, val list: List<DataSource>)
: ArrayAdapter<DataSource>(){
, тогда intellij выдаст мне эту ошибку: Ни одна из следующих функций не может быть вызывается с предоставленными аргументами. Почему я должен предоставлять аргументы ArrayAdapter и на что они влияют?
Второй вопрос. Например, у меня есть код:
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val lf: LayoutInflater = LayoutInflater.from(context)
val row = lf.inflate(R.layout.custom_list_view, parent, false)
val view_icon = row.findViewById<ImageView>(R.id.icon)
val view_title = row.findViewById<TextView>(R.id.title)
val view_subtitle = row.findViewById<TextView>(R.id.subtitle)
val ds: DataSource = list[position]
view_icon.setImageResource(R.drawable.ic_folder_black_24dp)
view_title.text = ds.ds_title
view_subtitle.text = ds.ds_subtitle
return row
}
Что означает переменная "row" и почему я должен назначить ей "inflate"? Как объяснить это словами? Если я не назначу, то раздувать не получится. И что это значит:
list[position]
Где я могу прочитать об этом? Kotlin просто сломай мой разум.