在我的Android应用中,我使用的是firebase-UI中的FirestoreRecyclerAdapter
,该绑定了Query
和Model
。当应用离线时,我不需要显示任何内容。但是应用程序显示了根据docs
DEFAULT
我还尝试了.setPersistenceEnabled(false)
上的FirestoreRecyclerOptions
,但没有帮助。
在this中,我发现需要在get(Source.SERVER)
上使用Query
,但是我没有在get()
上使用query
FirestoreRecyclerOptions
中使用的FirestoreRecyclerAdapter
这是我的代码,基本上与firebaseui的example app中第160-178行的代码相同。
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连接。客户端将以脱机模式运行,直到能够成功连接到后端为止。
和
答案 0 :(得分:0)
如果您使用的是recyclerView.setHasFixedSize(true);
删除它为我工作 ...只需尝试一下。