Я разрабатываю приложение в Котлине (если вы не знаете о kotlin, я уверен, что вы все равно можете помочь с вашим опытом Android/Java)Android Spinner не отвечает за клики, не закрывается и OnItemSelectedListener не запускает
Детали:
у меня есть Spinner в там мой app.Though он не реагирует на нажатия, когда он всплывает и даже показывает некоторые странные взгляды. И из-за этого прослушиватель OnItemSelected также не запускается.
Я запускаю метод для обновления счетчика от вызова AsyncRealm.
Вот код:
Вся эта функция работает, вертушка не равно нулю, после прикрепления слушателя, он больше не является нулевой либо (при отладке).
private fun updateCategorySpinner(result: MutableList<Category>) {
info("updateCategorySpinner")
val arrayAdapter: ArrayAdapter<String> = ArrayAdapter(ctx, R.layout.spinner_item, result.map{ it.category })
arrayAdapter.setDropDownViewResource(R.layout.spinner_item)
arrayAdapter.notifyDataSetChanged()
categorySpinner.adapter = arrayAdapter
info("updateCategorySpinner done")
}
result.map {..} создает MutableList с названиями категорий.
Проблема:
Я понятия не имею, почему есть эти стрелки, но независимо от того, какая раскладка я использовать (даже если только простой TextView) они там
нет Что я упускаю Вот?
Отключение слушателя не помогает.
Прикрепление слушателя с помощью Anko не помогает.
Слушатель запускается один раз, когда он инициализируется, вот и все.
Как только раскрывающееся меню открывается, оно полностью застряло.
Я создаю свои взгляды с помощью Anko.
R.layout.spinner-item
всего лишь <Textview>
.
class AddTodoFragmentUi:AnkoComponent<ViewGroup>,AnkoLogger {
override fun createView(ui: AnkoContext<ViewGroup>): View {
val editTextTheme = R.style.Widget_AppCompat_EditText
return with(ui){
verticalLayout {
info("inVerticalLayout")
verticalPadding =dip(15)
gravity = Gravity.CENTER
editText(editTextTheme){
id = R.id.txt_todo_desc
hintResource = R.string.txt_todo_desc_hint
width = matchParent
}
spinner(R.style.Widget_AppCompat_Spinner){
id= R.id.spinner_todo_category
prompt = "Select a Category"
}
button{
id = R.id.btn_add_todo
textResource = R.string.btn_add_todo
width = matchParent
}
button{
id = R.id.btn_del_todo
textResource = R.string.btn_del_todo
width = matchParent
visibility = View.INVISIBLE
}
}.applyRecursively {view -> when(view){
is EditText -> view.textSize = 20f
is Button -> view.textSize = 30f
}
}
}
}
изображение:
(«Я разрабатываю приложение в Котлине (очень читаемый, даже если вы этого не знаете) сильное утверждение, учитывая, что код, который вы представляете, не комментируется, или« он »ссылается на _Kotlin_, а не на ваш приложение). – greybeard
это действительно относится к Kotlin. Я не давал ссылку на все приложение, а также код, который я представил, довольно объяснительный. Это всего лишь Android SDK. –