从数据库中填充的Spinner获取选定的项目名称

时间:2019-09-09 04:00:13

标签: android android-spinner

我在微调器上填充了数据库中的日期,它可以正常工作。但是我需要选择日期才能在另一个微调器上填充位置。我从其他帖子中使用了一些建议。但是我没有得到选定的日期,我得到了一些奇怪的结果。 这是我尝试获取所选日期的代码-

    val spin = findViewById<Spinner>(R.id.spinner)

    spin.onItemSelectedListener = object: AdapterView.OnItemSelectedListener{
        override fun onItemSelected(parent:AdapterView<*>, view: View, position: Int, id: Long){

            date_select = parent.getItemAtPosition(position).toString().trim()
            println("Spinner selected : ${parent.getItemAtPosition(position).toString()}")
        }

        override fun onNothingSelected(parent: AdapterView<*>){
        }
    }

这是适配器类

Class Adapter_datesearch(
internal var activity: Activity,
internal var stitem: List<Item_search>

 ) : BaseAdapter() {


internal var inflater: LayoutInflater

init {
    inflater = activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
}

override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
    val rowView: View
    rowView = inflater.inflate(R.layout.searchdate, null)
    rowView.search_date.text = stitem[position].date.toString()
    return rowView
}

override fun getItem(position: Int): Any {
    return stitem[position]
}

override fun getItemId(position: Int): Long {
    return stitem[position].id!!.toLong()
}

override fun getCount(): Int {
    return stitem.size
}

}

这是我从打印结果中得到的奇怪结果-

    I/System.out: Spinner selected :com.example.stock_design.Item_search@4d96852

0 个答案:

没有答案