Данные добавляются в счетчик с использованием arraylist вместо обновления в addChildEventListener onChildChanged () - PullRequest
0 голосов
/ 21 марта 2020

как выглядит моя база данных firebase:

введите описание изображения здесь

здесь у меня есть мои данные, в которые я добавил название курса и номер семестра. Мои данные отображаются в счетчике, но он добавил данные с предыдущими данными, которые уже есть в счетчике. Я хочу обновить его в соответствии с выбором элементов в счетчике.

listCourse.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            String courseName = listCourse.getSelectedItem().toString();
            corsename.setText(courseName);
            String corseName = corsename.getText().toString();
            fDatabase.getReference("Engineer_Future").child("course_semester").child(corseName)
                    .child("Semesters").addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

                    int semesters = dataSnapshot.getValue(Integer.class);
                    semesterList.add(semesters);
                    semesterAdapter = new ArrayAdapter<Integer>(UploadFiles.this, android.R.layout.simple_spinner_item,semesterList);
                    semesterSpinner.setAdapter(semesterAdapter);


                }

                @Override
                public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

                }

                @Override
                public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

                }

                @Override
                public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {

                }
            });
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

, пожалуйста, помогите мне выполнить эту задачу в соответствии с выбранным элементом.

вот скриншоты моего приложения:

введите описание изображения здесь

это по умолчанию, и я хочу, чтобы этот тип, когда выбор изменился. Но результат показан ниже: pi c:

введите описание изображения здесь

...