为什么我在 ArrayAdapter 中遇到这个错误?

Why I encounter this error in ArrayAdapter?

我已经搜索了所有内容,但我不知道哪里出错了。我只是按照教程从 JSON 数据

中添加微调器中的项目

错误:

None of the following functions can be called with the arguments supplied.
<init>(Context, Int, Array<(out) String!>) where T = String for constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: Array<(out) T!>) defined in android.widget.ArrayAdapter
<init>(Context, Int, Int)   where T = String for    constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, textViewResourceId: Int) defined in android.widget.ArrayAdapter
<init>(Context, Int, (Mutable)List<String!>)   where T = String for    constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: (Mutable)List<T!>) defined in android.widget.ArrayAdapter

我的代码

var all_names = ArrayList<String>()
for (data in lst_member.members){
     val mn = if (data.MN == "null") "" else data.MN
     val name = data.FN +" "+ data.LN
     all_names.add(name)
}

val arrayAdapter : ArrayAdapter<String> = ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, all_names)


val spinner : Spinner = findViewById(R.id.member_lst)

问题与上下文有关 - 您需要发送 activity

val arrayAdapter : ArrayAdapter<String> = ArrayAdapter<String>(MyActivity.activity,android.R.layout.simple_list_item_1, all_names)

Sharone Lev 是正确的。但是改正的答案和他在我代码里说的不一样:

val arrayAdapter = ArrayAdapter(this@MainActivity, R.layout.simple_list_item_1, listItems)

通常使用“this”是没有问题的,因为它是MyActivity的对象,但是如果这个ArrayAdapter()在另一个class中,那么“this”并不意味着MyActivity,而是内部 class 对象并导致问题。所以改一下或者按照IDE.

的提示