如何解决为什么我在 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) where T = String for constructor ArrayAdapter<T : Any!>(context: Context,textViewResourceId: Int) defined in android.widget.ArrayAdapter
<init>(Context,(Mutable)List<String!>) where T = String for constructor ArrayAdapter<T : Any!>(context: Context,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)
解决方法
问题在于上下文 - 您需要发送活动
val arrayAdapter : ArrayAdapter<String> = ArrayAdapter<String>(MyActivity.activity,android.R.layout.simple_list_item_1,all_names)
,
Sharon Lev 是对的。但是纠正它的答案与他在我的代码中所说的不同:
val arrayAdapter = ArrayAdapter(this@MainActivity,R.layout.simple_list_item_1,listItems)
通常用“this”是没有问题的,因为它是MyActivity的对象,但是如果这个ArrayAdapter()在另一个类里面,那么“this”不是指MyActivity,而是内部类的对象和原因问题。所以直接改或者按照IDE的提示进行即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。