Из моего LandingClass (который содержит ListView, называемый myList), при каждом щелчке по элементу из ListView мы хотим запустить другое действие (DetailActivity), поэтому код должен выглядеть следующим образом:
myList.setOnItemClickListener{ view ->
val intent = Intent(this, DetailedActivity::class.java)
startActivity(intent)
}
Теперь, если нам нужно было предоставить дополнительную (дополнительную) информацию классу «Подробно», например, позицию элемента из ListView, которую мы только что щелкнули, код будет выглядеть следующим образом: myList.setOnItemClickListener{ parent, view, position, id ->
val intent = Intent(this, DetailedActivity::class.java)
intent.putExtra("thePosition (text)", position)
startActivity(intent)
}
Так что мой вопрос - почему в случаедля отправки дополнительного намерения нам нужны родитель и идентификатор, я не вижу их где-либо использовать ...?Я не вижу примеров в документе, которые бы помогли мне понять.Итак, некоторые вопросы:
Для чего мне нужен родитель, представление и идентификатор?
Если я щелкну по 3-му элементу, отправленная позиция (int), как я ожидаю, будет равна 2, если список основан на 0-индексе, верно?
Если бы я хотел отправить Пакет с более сложной информацией, чем позиция, как бы изменился мой код (с дополнительным)?Учитывая, что все параметры имеют определенный тип, например, id - это тип long.Что, если я хочу отправить текстовый абзац вместо идентификатора?
https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener - официальные документы, показывающие подпись метода
Из моего исследования(см. ссылку выше) Я заметил, что:
parent AdapterView: AdapterView, где произошел щелчок.
Зачем нам это нужно?Где выполняется задание или оно неявно известно?
представление Представление: представление в AdapterView, по которому щелкнули (это будет представление, предоставляемое адаптером)
position int: Положение представления вадаптер.
id long: идентификатор строки элемента, по которому был выполнен щелчок.
Тем не менее, это не проясняет, как отправлять дополнительную сложную информацию в DetailActivity, а не в позицию (int)или идентификатор (длинный), но может быть массив сложных объектов, или абзац текста или что-то еще ...