有关ArrayAdapter构造函数中的参数“上下文”的问题

时间:2018-11-25 08:40:36

标签: android android-arrayadapter

首先,这是我的代码

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和Horizo​​ntalCalendarView(另一个自定义视图)

因此,严格来说,根据android开发文档,ArrayAdapter的构造函数之一是
    “ ArrayAdapter(上下文上下文,int资源,int textViewResourceId,T []                   对象。”我唯一不了解的是上下文参数。根据我的理解,上下文参数是附加了适配器视图的context(Activity)。但是,如果适配器视图附加在自定义视图上(在我的案例合并视图),那么我们可以说上下文不是适配器视图附加的东西,因此我认为将上下文传递给ArrayAdapter构造函数是不正确的(我认为传递自定义视图听起来更合乎逻辑)。

这是我的问题 1.我误会了什么? 2.什么是正确的概念?

0 个答案:

没有答案