我想显示EditText。点击编辑文本时,Spinner应打开。在微调器中选择项目时,应在编辑文本中填充该值。
gender.setText(AppVars.Gender.Male.name)
gender是EditText,genderSpinner是Spinner
当我点击性别编辑文本时,它确实打开了微调器,在选择项目时,所选项目位于编辑文本中。一切都很好。但是,如果我没有在微调器中选择任何内容,并单击屏幕上的一些位置,微调器值将不会显示,而只有默认值显示在屏幕底部。
我想摆脱这个。
如果我单击屏幕上的其他位置,微调器应该会消失。有可能吗?
下面是代码,
var genderInt: Int = AppVars.Gender.Male.genderVal
genderSpinner.setAdapter(ArrayAdapter<AppVars.Gender>(activity, android.R.layout.simple_spinner_item, AppVars.Gender.values()))
gender.setText(AppVars.Gender.Male.name)
genderSpinner.setSelection(AppVars.Gender.Male.genderVal)
val genderListener = object: AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
info("Nothing selected*********************")
genderSpinner.visibility = View.INVISIBLE
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
val genderEnum: AppVars.Gender = parent?.getItemAtPosition(position) as AppVars.Gender
info("Item selected*********************")
genderInt = genderEnum.genderVal
gender.setText(genderEnum.name)
genderSpinner.visibility = View.INVISIBLE
}
}
genderSpinner.onItemSelectedListener = genderListener
gender.setOnClickListener {
genderSpinner.visibility = View.VISIBLE
genderSpinner.performClick()
}
您只需要使用AutoCompleteTextView
即可轻松完成所有您想要的操作,而不需要使用EditText
和Spinner
。给你一个很好的芭蕾舞团和还有文档