Je suis nouveau à firebase, donc certaines choses sont encore un peu confus pour moi.Android populate arrayOf avec des données firebase plutôt que des chaînes
Je dispose d'un tableau: que je passe ensuite à un spinner. Tout ça fonctionne. Bien que, maintenant je veux passer au niveau suivant, qui est au lieu de peupler le spinner avec les chaînes que j'ai ajoutées au tableau, je veux qu'il transmette les données que j'ai sur ma base de données Firebase. Raison en est, certains éléments ont des sous-éléments, donc j'ai besoin d'utiliser des objets à la place. Je ne sais vraiment pas comment contourner cela et remplacer cela. Pourriez-vous m'aider s'il vous plaît
J'ai déjà mon application connectée à la base de données en temps réel.
Merci
{
"KitList" : {
"kettle" : {
"10KG" : "10KG",
"5KG" : "5KG"
},
"punchBag" : "punch bag",
"sandbag" : "sandbag"
}
}
Quelqu'un m'a dit que je ne devrais pas avoir la valeur égale à la clé?
Ceci est mon modèle
class KitList(val title: String) {
override fun toString(): String {
return super.toString()
}}
Ceci est l'activité où la fileuse est:
class NewKitListActivity : AppCompatActivity() {
var database = FirebaseDatabase.getInstance()
var myRef = database.getReference("KitList")
var spinnerArray = arrayOf("Dumbell", "Punching Bag", "Yoga Ball", "Skipping Rope")
inner class Item {
var IdItem: Int = 0
var Item: String? = null
var SubItems: ArrayList<Item>? = null
}
var newKitList = mutableListOf<String>()
val selectedItems: MutableList<String>? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_kit_list)
var context = this;
var addButton = addKitItemBtn
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
val kitList = newKistListView
val listViewAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, newKitList)
kitList.adapter = listViewAdapter
addButton.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
val selectedItem = spinner.selectedItem.toString()
newKitList.add(selectedItem)
listViewAdapter.notifyDataSetChanged()
}
})}}
il suffit de créer un modèle afin que les données dans votre base de données peuvent être traitées.Vous pouvez montrer quelques exemples de données avec des sous-éléments et je peux vous montrer comment. – Orvenito
mise à jour post avec les données. Quelqu'un m'a dit que je ne devrais pas avoir la valeur égale à la clé? – EmanyHeather
Rien dans votre code ne lit encore quelque chose de la base de données. Bien que je comprenne que vous avez du mal à écrire le code complet, il est beaucoup plus facile de vous aider si vous nous montrez jusqu'où vous êtes. De cette façon, nous pouvons le compléter et expliquer ce que vous avez manqué ou où vous avez fait une erreur, au lieu de simplement fournir le code tel que nous l'implémenterions. –