java - 我的微调器在添加从 firebase 数据库中选择的多个值时被覆盖

标签 java android android-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);
  }
}

最佳答案

你需要先清除你的列表,然后使用 clear() 方法绑定(bind)它

    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);
    } 
   }

关于java - 我的微调器在添加从 firebase 数据库中选择的多个值时被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656614/

相关文章:

java - 如何在 Android 上仅更新 Firebase 数据库上的特定字段

android - 对 Android 5.0 的旧 Linux 内核支持

android - 根据条件对 Spinner 中的值进行排序

java - Maven项目构建异常

java - GET 方法调用两次,代码为 301 和 200

android - 在 Ionic2/3 项目中哪里可以找到 SQLite 数据库?

android - 什么属性控制 Spinner 下拉菜单背景?

Android微调器-奇怪的用户界面问题

Java将Json字符串转为数组

java - 从 Java 中的其他类访问私有(private)变量