Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在尝试添加文档';从firestore到列表的名称<;字符串>;_Java_List_Google Cloud Firestore - Fatal编程技术网

Java 正在尝试添加文档';从firestore到列表的名称<;字符串>;

Java 正在尝试添加文档';从firestore到列表的名称<;字符串>;,java,list,google-cloud-firestore,Java,List,Google Cloud Firestore,Hy,我正在尝试将集合中的文档名称添加到列表中,以将其应用到我的android应用程序的微调器上,在我制作的日志中,它显示文档列表,但List.size返回0,因此微调器不显示任何内容。。。 以下是微调器设置代码: Spinner listProblem = findViewById(R.id.problemList); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, andro

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

提前感谢所有可能帮助我的人

您是否尝试过
ArrayList
实现?您拥有的列表实现
新列表{…}
未正确实现,我不明白您为什么需要自定义实现。太好了,谢谢!它不是定制的,而是内置的默认列表设置……您可以使用基于列表的UI小部件,如Spinner,没有问题。我所看到的是,您正在成功地从您的集合中获取文档,如日志所示,但是您没有正确地将文档添加到列表中,或者您的列表在每次运行脚本时都被初始化或清除;因此,这些文档不会出现在您的列表中。你能在做其他事情之前检查一下吗?我把它改为ArrayList,现在它在视图的微调器中显示文档的名称,但我仍然无法成功地通过“getSelectedItem().toString()”或“OnItemSelectedListener”获得用户的选择,它们都返回null。很高兴知道你取得了一些进展。您能用新代码更新您的问题并显示您收到的任何错误吗?查看此示例以了解此问题可能是什么。您是否尝试过
ArrayList
实现?您拥有的列表实现
新列表{…}
未正确实现,我不明白您为什么需要自定义实现。太好了,谢谢!它不是定制的,而是内置的默认列表设置……您可以使用基于列表的UI小部件,如Spinner,没有问题。我所看到的是,您正在成功地从您的集合中获取文档,如日志所示,但是您没有正确地将文档添加到列表中,或者您的列表在每次运行脚本时都被初始化或清除;因此,这些文档不会出现在您的列表中。你能在做其他事情之前检查一下吗?我把它改为ArrayList,现在它在视图的微调器中显示文档的名称,但我仍然无法成功地通过“getSelectedItem().toString()”或“OnItemSelectedListener”获得用户的选择,它们都返回null。很高兴知道你取得了一些进展。您能用新代码更新您的问题并显示您收到的任何错误吗?查看此示例以了解此问题可能是什么。
 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;
}
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 ).