如何从Firebase获取数据列表并将其添加到android studio ArrayAdapter中,同时如果单击Adapter中的项目则获取documentID

问题描述

在我的活动中,我将有一个布局和自动完成功能,现在,我需要从firebase中获取一些名称。

到目前为止,我为此功能编写的代码

public void loadSavedLocation(){
        CollectionReference cRef = db.collection("SavedPlace");
        Query query = cRef.whereEqualTo("sharerUID",mUserUID);

        query.get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            ArrayList<String> list = new ArrayList<>();
                            for (QueryDocumentSnapshot document : task.getResult()) {
                                placeModel mPlaceModel = document.toObject(placeModel.class);
                                String placeName = mPlaceModel.getPlaceName();
                                Double placeLat = Double.valueOf(mPlaceModel.getLat());
                                String getDocumentID = document.getId();
                                Log.d("Rag"," gasgasgsafdsad " + getDocumentID);
                                list.add(placeName);
                                list.add(getDocumentID);

                            }
                            ArrayAdapter<String> adapter = new ArrayAdapter<>(AddFoodiFoodShareActivity.this,android.R.layout.simple_list_item_1,list);
                            mSharerLocationText.setAdapter(adapter);
                       
                        }
                    }

                });
    }

由于cuz,现在的结果只是在placeName下简单地添加documentID。但是我真正想要的是,如果单击适配器中的某些项目,那么一个隐藏的字符串将代表文档ID。有可能做到吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)