为什么我在 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.
的提示
我已经搜索了所有内容,但我不知道哪里出错了。我只是按照教程从 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.
的提示