У меня есть локальная база данных (Sqlite), в которой я пытаюсь получить все данные из одного столбца и вставить их в Spinner внутри фрагмента. Я пытаюсь получить данные из базы данных и вставить их в массив, чтобы было легко. Не могли бы вы, ребята, помочь мне с этим? Пример кода будет очень полезным. Я как-то сделал это, но он не показывает значение String, а вместо этого показывает ссылочное значение, например "com.example.newsreader.model. PreferenceM@366732f" ... Я не знаю, как преобразовать это в читаемую строку.
Соответствующий фрагмент кода
private fun preferencesInit(){
//load the preferences list
val prefList = dbHandler.getAllPrefernces(activity!!.applicationContext)
val spinner = spinner_preferences
val preferences = prefList.toTypedArray()//arrayOfNulls<String>(prefList.size)
// prefList.toArray()
val arrayAdapter = ArrayAdapter(activity!!.applicationContext, android.R.layout.simple_spinner_dropdown_item, preferences)
spinner.adapter = arrayAdapter
// spinner.setOnClickListener {
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(
parent: AdapterView<*>,
view: View,
position: Int,
id: Long
) {
if (preferences.isEmpty() || preferences.size == 0){
//do nothing
}else{
Toast.makeText(
activity!!.applicationContext,"preference selected : " + preferences[position],Toast.LENGTH_SHORT).show()
checkQueryText(preferences[position].toString())
}
}
override fun onNothingSelected(parent: AdapterView<*>) {
// Code to perform some action when nothing is selected
queryTopHeadlines()
}
}
// }
}