Search code examples
androidkotlinandroid-arrayadapter

Why I encounter this error in ArrayAdapter?


I already search for everything but I don't know where did I go wrong. I just follow the tutorials in adding items in the spinner from JSON data

Error:

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

My Code

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)

Solution

  • The issue is with the context - you need to send the activity

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