微调框不会显示所选的值

时间:2019-04-05 19:42:22

标签: android kotlin spinner

我已经提到了这些问题,并尝试更改了文本颜色和背景颜色,但它不起作用。问题是我正在下拉菜单中选择项目,但是什么也没显示,即使我的日志也没有记录任何东西,我尝试将第一个项目设置为默认项目,但这也不起作用。

<Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner2" app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp" android:layout_marginTop="40dp"/>

private lateinit var spinner: Spinner
private val list: ArrayList<String> = arrayListOf()

spinner = findViewById(R.id.spinner2)
list.add("String1")
list.add("string2")

spinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list)

spinner.onItemSelectedListener = object : 
AdapterView.OnItemSelectedListener {
    override fun onNothingSelected(p0: AdapterViwe<*>?) {
        Log.d(TAG, "nothing selected")
    }

    override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
        Log.d(TAG, "SELECTED ITEM " + list[p2])
    }
}

spinner.setSelection(0)

1 个答案:

答案 0 :(得分:0)

我终于弄清楚了,我在一个单独的线程中填充了微调器,由于某种原因它正在显示值,但是填充微调器适配器的数组仍然是空的,我将所有内容移到了背景中来解决了这个问题线程