Во-первых, вот мой код
class MergedView (context : Context,attributeSet: AttributeSet?) : LinearLayout(context,attributeSet) {
var myCalendar : HorizontalCalendar? = null
var scheduleList : ListView?= null
init {
val infService = Context.LAYOUT_INFLATER_SERVICE
val li = context.getSystemService(infService) as LayoutInflater
val v = li.inflate(R.layout.calendar_sequence, this, false)
addView(v)
val startDate = Calendar.getInstance()
startDate.add(Calendar.MONTH, -5)
val endDate = Calendar.getInstance()
endDate.add(Calendar.MONTH, 5)
myCalendar = HorizontalCalendar.Builder(this, R.id.calendarView)
.range(startDate, endDate)
.datesNumberOnScreen(5)
.build()
myCalendar?.setCalendarListener(object : HorizontalCalendarListener() {
override fun onDateSelected(date: Calendar, position: Int) {
}
})
val texts = arrayOf("None", "None","None")
val adapter =
ArrayAdapter(context,android.R.layout.simple_list_item_1,texts)
scheduleList = findViewById(R.id.testList)
scheduleList?.setAdapter(adapter)
}
}
Я делаю настраиваемое представление, называемое объединенным представлением, которое имеет ListView и HorizontalCalendarView (другое настраиваемое представление)
ТакСтрого говоря, согласно документу по разработке Android, один из конструкторов ArrayAdapter имеет вид
«ArrayAdapter (Контекст контекста, ресурс int, объекты int textViewResourceId, T [])».Единственное, что я не могу понять, это параметр Context.Насколько я понимаю, контекстный параметр - это контекст (Activity), к которому присоединено представление адаптера.но затем, если адаптер View подключен к пользовательскому представлению (в моем случае Merged View), то мы можем сказать, что контекст - это не то, к чему привязано представление адаптера.Поэтому я думаю, что передача контекста в конструктор ArrayAdapter - это неправильно (я думаю, что передача собственного представления звучит более логично).
Итак, вот мой вопрос 1. В чем дело, что я неправильно понимаю ??2. каково правильное понятие ??