我有一个活动,我必须在微调器中显示名称列表,名称在Firebase数据库中,我设法做到这一点,它工作得很好
这是它的样子: the items added in the spinner
但是在我选择一个项目之后它只是显示注意,并且它“看起来像”我没有选择任何东西 after selecting an item
我确信我选择了一个项目,因为我可以获得所选的正确itemId并执行我想要做的事情,但它只是没有出现。 我尝试更改文本颜色,但这是不可能的。 可能是我的问题?
我正在使用android studio和kotlin。
代码:
databaseRef = FirebaseDatabase.getInstance().getReference("Consultants")
var spinnerArray: MutableList<String> = ArrayList()
var spinnerArrayID: MutableList<String> = ArrayList()
//filling the spinner
databaseRef.addValueEventListener(object: ValueEventListener {
override fun onDataChange(p0: DataSnapshot?) {
if (p0 != null) {
for (db: DataSnapshot in p0.children){
var consultantId = db.child("consultantsId").value.toString()
var consultantRehabName = db.child("rehabCenterName").value.toString()
fname = db.child("firstName").value.toString()
lname = db.child("lastName").value.toString()
if (consultantRehabName == rehabName){
spinnerArray.add("$fname $lname")
spinnerArrayID.add(consultantId)
}
}
}
}
override fun onCancelled(p0: DatabaseError?) {
}
})
var adapter: ArrayAdapter<String> = ArrayAdapter<String>(this@DeleteConsultantActivity,
android.R.layout.simple_spinner_item, spinnerArray)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
spinnerN3.adapter = adapter
//deleting the user after selecting the item(name)
buttonDD01.setOnClickListener({
var nameSelectedId = spinnerN3.selectedItemId
consultantId = spinnerArrayID[nameSelectedId.toInt()]
databaseRef.addListenerForSingleValueEvent(object: ValueEventListener{
override fun onCancelled(p0: DatabaseError?) {
}
override fun onDataChange(p0: DataSnapshot?) {
databaseRef.child(consultantId).removeValue()
Toast.makeText(this@DeleteConsultantActivity, "تم الحذف بنجاح", Toast.LENGTH_LONG).show()
finish()
}
})
})