尝试将文件的名称从Firestore添加到列表

问题描述 投票:1回答:1

[Hy,我正在尝试将集合中的文档名称添加到列表中,以将其应用到我的android应用程序中的微调器上,并且在日志中显示了文档列表,但List.size返回了0,因此微调框不显示任何内容...这是微调器设置代码:

 Spinner listProblem = findViewById(R.id.problemList);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, problemTitles());
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listProblem.setAdapter(adapter);

这是问题列表()函数:

 public List<String> problemTitles() {
    problemList  = new List<String>() {
        @Override
        public int size() {
            return 0;
        }

        @Override
        public boolean isEmpty() {
            return false;
        }

        @Override
        public boolean contains(@Nullable Object o) {
            return false;
        }

        @NonNull
        @Override
        public Iterator<String> iterator() {
            return null;
        }

        @NonNull
        @Override
        public Object[] toArray() {
            return new Object[0];
        }

        @NonNull
        @Override
        public <T> T[] toArray(@NonNull T[] a) {
            return null;
        }

        @Override
        public boolean add(String s) {
            return false;
        }

        @Override
        public boolean remove(@Nullable Object o) {
            return false;
        }

        @Override
        public boolean containsAll(@NonNull Collection<?> c) {
            return false;
        }

        @Override
        public boolean addAll(@NonNull Collection<? extends String> c) {
            return false;
        }

        @Override
        public boolean addAll(int index, @NonNull Collection<? extends String> c) {
            return false;
        }

        @Override
        public boolean removeAll(@NonNull Collection<?> c) {
            return false;
        }

        @Override
        public boolean retainAll(@NonNull Collection<?> c) {
            return false;
        }

        @Override
        public void clear() {

        }

        @Override
        public String get(int index) {
            return null;
        }

        @Override
        public String set(int index, String element) {
            return null;
        }

        @Override
        public void add(int index, String element) {

        }

        @Override
        public String remove(int index) {
            return null;
        }

        @Override
        public int indexOf(@Nullable Object o) {
            return 0;
        }

        @Override
        public int lastIndexOf(@Nullable Object o) {
            return 0;
        }

        @NonNull
        @Override
        public ListIterator<String> listIterator() {
            return null;
        }

        @NonNull
        @Override
        public ListIterator<String> listIterator(int index) {
            return null;
        }

        @NonNull
        @Override
        public List<String> subList(int fromIndex, int toIndex) {
            return null;
        }
    };
    prblmDB.collection("Problems").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                int i = -1;
                for (QueryDocumentSnapshot document : Objects.requireNonNull(task.getResult())) {
                    problemList.add(i++, Objects.requireNonNull(document.get("Prblm Title: ")).toString());
                    Log.d("document title: ", Objects.requireNonNull(document.get("Prblm Title: ")).toString());
                }
                Log.d("list lenth: ", String.valueOf(problemList.size()));
            } else {
                Log.e(TAG, "Error getting documents: ", task.getException());
            }
            Log.println(Log.DEBUG, "ValueEventListener: ", "Done");
            SPB.setVisibility(View.INVISIBLE);
            Log.i("list value", problemList.toString());
        }
    }).isSuccessful();
    return problemList;
}

pblmDB是FirebaseFirestore元素。

这是我在打开活动时获得的日志:

D/document title:: violance
global worming
math class
boringness
sadness
D/list lenth:: 0
D/ValueEventListener:: Done
I/list value: com.example.igi.Solution$2@1cdffeb
I/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzaq@6036be1
D/FirebaseAuth: Notifying id token listeners about user ( XsiavnC7IDSXOlSpvbMLfVbPRtT2 ).

感谢所有可能对我有帮助的人!

java list google-cloud-firestore
1个回答
0
投票

感谢bhdrkn的帮助,我刚刚更改为ArrayList,现在可以正常工作!

© www.soinside.com 2019 - 2024. All rights reserved.