[英]my spinner is overwriting while adding multiple values selected from firebase database
I want to get all the values from the courseName and use it to fill the spinner: 我想从CourseName中获取所有值,并用它来填充微调器:
databaseReference.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
final List<String> courses = new ArrayList<String>();
for (DataSnapshot courseSnapshot: dataSnapshot.getChildren())
{
String courseName = courseSnapshot.getValue(String.class);
courses.add(courseName);
}
Spinner spinnerCourse = findViewById(R.id.spinnerCourse);
ArrayAdapter<String> courseAdapter = new ArrayAdapter<String>(AddSubject.this,android.R.layout.simple_spinner_item, courses);
courseAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerCourse.setAdapter(courseAdapter);
}
}
You need to clear your list first then bind it use clear()
method like below 您需要先清除列表,然后再使用clear()
方法将其绑定,如下所示
databaseReference.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s)
{
final List<String> courses = new ArrayList<String>();
courses.clear();
for (DataSnapshot courseSnapshot: dataSnapshot.getChildren())
{
String courseName = courseSnapshot.getValue(String.class);
courses.add(courseName);
}
Spinner spinnerCourse = findViewById(R.id.spinnerCourse);
ArrayAdapter<String> courseAdapter = new ArrayAdapter<String>(AddSubject.this,android.R.layout.simple_spinner_item, courses);
courseAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerCourse.setAdapter(courseAdapter);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.