使用FirestoreRecyclerAdapter的查询时,我没有调用get(),但需要设置Query.get(Source.SERVER)

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

[在我的Android应用中,我正在使用FirestoreRecyclerAdapter中的firebase-UI,该绑定了QueryModel。当应用离线时,我不需要显示任何内容。但是应用程序显示根据DEFAULT

从缓存中获取的数据为docs

我也尝试在.setPersistenceEnabled(false)上使用FirestoreRecyclerOptions,但没有帮助。

[从this开始,我发现我需要在get(Source.SERVER)上使用Query,但是我没有在get()上使用query,因为我在FirestoreRecyclerOptions中使用了FirestoreRecyclerAdapter ]

这是我的代码,与firebaseui的第160-178行中的example app基本相同。

Query query = FirebaseFirestore.getInstance()
                .collection("files")
                .orderBy("timestamp")
                .limit(50);

        FirestoreRecyclerOptions<FileToPrint> options = new FirestoreRecyclerOptions.Builder<FileToPrint>()
                .setQuery(query, FileToPrint.class)
                .build();

        adapter = new FirestoreRecyclerAdapter<FileToPrint, FileToPrintHolder>(options) {
            @Override
            public void onBindViewHolder(FileToPrintHolder holder, int position, FileToPrint model) {
                // Bind the Chat object to the ChatHolder
                holder.bind(model);
            }

            @Override
            public FileToPrintHolder onCreateViewHolder(ViewGroup group, int i) {
                // Create a new instance of the ViewHolder, in this case we are using a custom
                // layout called R.layout.message for each item
                View view = LayoutInflater.from(group.getContext())
                        .inflate(R.layout.file_to_print_item, group, false);

                return new FileToPrintHolder(view);
            }
        };
        mRecyclerView.setAdapter(adapter);

当我断开Internet连接时,我希望看到一个空列表,但我看到此日志:

Firestore:(21.0.0)[OnlineStateTracker]:无法访问Cloud Firestore后端。后端在10秒内未响应

这通常表示您的设备目前无法正常连接Internet。客户端将以脱机模式运行,直到能够成功连接到后端为止。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9JVlJJckQyLnBuZyJ9” alt =“未同步屏幕截图”>

java android firebase google-cloud-firestore firebaseui
1个回答
0
投票

[如果您使用的是recyclerView.setHasFixedSize(true);删除它是为我工作 ...只需尝试一下。

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