Я новичок в Android Studio, так что это может быть легко для некоторых из вас.
У меня есть счетчик, который читает имена посетителей из базы данных Firebase.
После выбора имении нажата кнопка. Я хочу, чтобы этот дочерний элемент был удален из базы данных.
Это мой код Spinner в onCreate:
databaseVisitors = FirebaseDatabase.getInstance().getReference();
databaseVisitors.child("visitorsToCO").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot datasnapshot) {
final List<String> visitorsToCO = new ArrayList<String>();
for (DataSnapshot areaSnapshot: datasnapshot.getChildren()) {
String visitorName = areaSnapshot.child("visitorName").getValue(String.class);
if (visitorName!=null){
visitorsToCO.add(visitorName);
}
}
Spinner spinnerV = (Spinner) findViewById(R.id.visitorName);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(CheckOutActivity.this, android.R.layout.simple_spinner_item, visitorsToCO);
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerV.setAdapter(arrayAdapter);
}
А это мой код для кнопки:
btnCheckOut2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addVisitorCheckOut();
deleteVisitorToCO();
openMainActivity();
}
});
public void deleteVisitorToCO()
{
databaseVisitors = FirebaseDatabase.getInstance().getReference("visitorsToCO");
final String name = visitorName.getSelectedItem().toString();
Query query = databaseVisitors.child("visitorsToCO").orderByChild("visitorName").equalTo(name);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot itemSnapshot : dataSnapshot.getChildren()) {
itemSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}