Умный актерский состав «Спиннер!»невозможно. потому что «spinnertype» является изменяемым свойством, которое могло быть изменено к этому времени - PullRequest
0 голосов
/ 01 октября 2019

Я делаю приложение для Android с использованием kotlin в первый раз, я хочу спросить вас, ребята, почему «spinnerType.onItemSelectedListener» эта строка по ошибке.

это мой AddActivity.kt.

   override fun onCreate(savedInstanceState: Bundle?) {
    spinnerType = findViewById(R.id.spinner_type)
    spinnerCategory = findViewById(R.id.spinner_category)
    editTextAmount = findViewById(R.id.edit_text_amount)
    editTextNote = findViewById(R.id.edit_text_note)

    // binding adapter and listener
    expendCategoryList = object : ArrayList<String>() {
        init {
            add("aaa")
            add("bbb")
            add("ccc")
        }
    }
    incomeCategoryList = object : ArrayList<String>() {
        init {
            add("dd")
            add("ee")
        }
    }

    bindSpinnerCategoryData(true)

    // bind event listener about spinnerType
    spinnerType.onItemSelectedListener
   }



    private fun bindSpinnerCategoryData(isExpend: Boolean) {
    val arrayAdapter: ArrayAdapter<String>
    val targetList = if (isExpend) expendCategoryList else incomeCategoryList
    val list = ArrayList(targetList)
    list.add("add new category...")
    arrayAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, list)
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
    // new data adpater binding aboutspinnerCategory
    spinnerCategory.setAdapter(arrayAdapter)
}

1 Ответ

0 голосов
/ 01 октября 2019

onItemSelectedListener не реализован должным образом, попробуйте следующий код, который может решить вашу проблему

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