У меня есть счетчик, в котором я хочу отобразить список строк (например, языков); Я пробовал много способов, но ни один не работал. И теперь я застрял с этой единственной ошибкой. Речь идет о ArrayAdapted: «Ни одна из следующих функций не может быть вызвана с предоставленными аргументами». Я попробовал трюк, упомянутый в этом посте Ссылка на похожий вопрос .
val arrayAdapter = ArrayAdapter(this,android.R.layout.simple_spinner_item, statuts.toList())
и это:
val arrayAdapter = ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, statuts.toList())
и это:
val arrayAdapter = ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, statuts)
Но это не работает. Пожалуйста, помогите мне, я новичок в Kotlin.
class FirstFragment : Fragment(),AdapterView.OnItemSelectedListener {
// attributes
var statuts = arrayOf("English", "French", "Spanish")
var spinner:Spinner? = null
var textView_msg:TextView? = null
// methods
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
textView_msg = msg
spinner = this.statuts_sp
spinner!!.setOnItemSelectedListener(this)
val arrayAdapter = ArrayAdapter(this,android.R.layout.simple_spinner_item, statuts.toList())
// Set layout to use when the list of choices appear
arrayAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
// Set Adapter to Spinner
statuts_sp!!.adapter = aa
// Inflate the layout for this fragment
return inflater!!.inflate(R.layout.fragment_first, container, false)
}
/*************************************************************************************/
override fun onItemSelected(arg0: AdapterView<*>, arg1: View, position: Int, id: Long) {
textView_msg!!.text = "Selected : "+statuts[position]
}
/*************************************************************************************/
override fun onNothingSelected(arg0: AdapterView<*>) {}
}