Android Koltin将微调值传递给可变列表

我有一个微调包含几个项目的应用程序。 我创造了这一切

任何人都可以给我一个例子,我可以如何将这些值传递给我有一个列表? 使用mutableList?

干杯

class NewKitListActivity : AppCompatActivity() { var spinnerArray = arrayOf("Dumbell", "Punching Bag", "Yoga Ball", "Skipping Rope") val kitMutableList = mutableListOf(spinnerArray) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_new_kit_list) val spinner = newKitItemSpinner val spinnerArrayAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray) //selected item will look like a spinner set from XML spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) spinner.adapter = spinnerArrayAdapter spinner.onItemSelectedListener = object : OnItemSelectedListener { override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) { val selectedItem = parent.getItemAtPosition(position).toString() if (selectedItem == "Dumbell") { // mutableListAdapter.toMutableList() //mutableList.adapter = mutableListAdapter } } // to close the onItemSelected override fun onNothingSelected(parent: AdapterView<*>) { } } 

我相信你可以这样做。 1.制作自定义的适配器或适配器2.制作第一个包含字符串值的列表3.制作包含选定值的可变列表4.当第一次加载Spinner时从第一个适配器和列表中加载值5.当用户选择项目时清除第一个适配器然后通知更改,然后从可变列表中设置新的适配器加载值(我不知道最后将需要通知更改适配器)

 //Mutable List for storing selected items val selectedItems: MutableList<String>? = null //Listen On select for spinner spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { //Performing action onItemSelected and onNothing selected override fun onItemSelected(arg0: AdapterView<*>, arg1: View, position: Int, id: Long) { // Add selected item in Mutable List selectedItems.add(spinnerArray[position]) // Clear Adapter spinner.adapter = null // Notify data set changed spinnerArrayAdapter.notifyDataSetChanged() // Set New Data adapter spinner.adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, selectedItems) } override fun onNothingSelected(arg0: AdapterView<*>) { // TODO: Auto-generated method stub } } 

创建一个列表来存储你的selectedItems:

 val selectedItems = mutableListOf<String>() 

然后添加项目时,他们被选中:

  override fun onItemSelected(arg0: AdapterView<*>, arg1: View, position: Int, id: Long) { selectedItems.add(spinnerArray[position]) }