ファイアストアのドキュメントからデータを取得するためにvarスピンナー配列を割り当てましたが、これはです。Android Firestoreスピナーがドキュメントをロードしていません
これは私の現在の活動です。私は文字列を割り当てるなら、それを動作させることができますが、私が今やっているように私のドキュメントからデータをロードしたいのです。
これは私のセットアップです。
何らかの理由がありますか? おかげ
var db = FirebaseFirestore.getInstance()
var spinnerArray = arrayOf(db.collection("KitList")
.get()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
for (document in task.result) {
Log.d("weight05", document.id + " => " + document.data)
}
} else {
Log.w("error", "Error getting documents.", task.exception)
}
})
var newKitList = mutableListOf<String>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_kit_list)
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()
}
})
==============
EDIT
var spinnerArray: Array<Task<QuerySnapshot>> = arrayOf(db.collection("KitList").get()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
spinnerArray = task.result as Array<Task<QuerySnapshot>> //or however you get your document array
for (document in task.result) {
Log.d("weight05", document.id + " => " + document.data)
}
} else {
Log.w("error", "Error getting documents.", task.exception)
}
})
NULL可能プロパティとしてspinnerArrayを初期化こんにちは、お返事に感謝。私はそれを試みましたが、if文の中でspinnerArrayにエラーがありました。 msgstr "型チェックは再帰的問題に遭遇しました" msgid。私はそのコードを私のvar spinnerArrayの中に入れました。それは私が正しいことですか? – AndyFire
私はこれをしましたが、まだ奇妙な結果を得ました(私の編集を見てください) – AndyFire
オン.resultこれを追加しなければなりませんでしたspinnerArray = task.result Array>は間違っていましたか? –
AndyFire