私はsimple_list_item_multiple_choiceを使用しているリストビューとarrayadapterで作業していますので、リストビューで複数の項目を選択できます。Android - HashMapでupdateChildren()を使用
私がしたいこと:選択したすべてのアイテムをFirebaseデータベースに挿入します。そのために、私はハッシュマップを使用しています。私はを行っている何
:
addUsersButton.setOnClickListener(new View.OnClickListener() {
HashMap<String, Object> drivers = new HashMap<>();
@Override
public void onClick(View v) {
int cntChoice = userList.getCount();
SparseBooleanArray sparseBooleanArray = userList.getCheckedItemPositions();
for (int i = 0; i < cntChoice; i++) {
if (sparseBooleanArray.get(i)) {
drivers.put("drivers", userList.getItemAtPosition(i).toString());
}
}
userRef.child(sharedPreferences.getString("school", null)).child("routes").child(key).updateChildren(drivers);
}
});
問題:これは、データベースへの選択した項目の一つ追加されます。どうしてか分かりません。選択した項目の各反復で
別のものを選択すると、データベースの項目が上書きされますか? –
はい、アイテムが上書きされています。したがって、どれだけ選択しても、データを上書きするため、データベースに1つしか表示されません。 – JDoe
updateChildren()のためのオーバーライド –