Java Firebase回收器分页适配器未在数据更改时更新

Java Firebase回收器分页适配器未在数据更改时更新,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在开发一个聊天应用程序,试图通过firebase recycler分页适配器将聊天消息发送到recycler视图。它可以很好地处理第一个条目,但在数据更改时不会更新。我对firebase有点陌生,已经被困在这个问题上好几天了。任何帮助都将不胜感激。这是我的适配器代码- Query query= FirebaseDatabase.getInstance().getReference().child("Messages"); PagedList.Config config = new Page

我正在开发一个聊天应用程序,试图通过firebase recycler分页适配器将聊天消息发送到recycler视图。它可以很好地处理第一个条目,但在数据更改时不会更新。我对firebase有点陌生,已经被困在这个问题上好几天了。任何帮助都将不胜感激。这是我的适配器代码-

Query query= FirebaseDatabase.getInstance().getReference().child("Messages");

PagedList.Config config = new PagedList.Config.Builder()
                         .setEnablePlaceholders(false)
                         .setPrefetchDistance(15)
                         .setInitialLoadSizeHint(15)
                         .setPageSize(10)
                         .build();

DatabasePagingOptions<Messages> options= new DatabasePagingOptions.Builder<Messages>()
                                                 .setLifecycleOwner(this)
                                                 .setQuery(query, config, Messages.class)
                                                 .build();



adapter=new FirebaseRecyclerPagingAdapter<Messages, messageHolder>(options) {

    @NonNull
    @Override
    public messageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());


        if (viewType == SENT) {
            viewInst = layoutInflater.inflate(R.layout.sent_message_item, parent, false);
            return new messageHolder(viewInst);

        }
        viewInst= layoutInflater.inflate(R.layout.receive_message_item, parent, false);
        return new messageHolder(viewInst);



    }

    @Override
    protected void onBindViewHolder(@NonNull messageHolder viewHolder, int position, @NonNull final Messages model) {

          // binding data to viewholder 



    }


    @Override
    protected void onLoadingStateChanged(@NonNull LoadingState state) {

        switch (state) {
            case LOADING_INITIAL:
                chatListLoader.setVisibility(View.VISIBLE);
                break;
            case LOADING_MORE:
                // Do your loading animation

                chatListLoader.setVisibility(View.VISIBLE);
                break;

            case LOADED:
                // Stop Animation
                chatListLoader.setVisibility(View.GONE);
                break;

            case FINISHED:
                //Reached end of Data set

                break;

            case ERROR:
                retry();
                break;
        }


    }

    @Override
    public int getItemCount() {
        return super.getItemCount();
    }
};

chatList.setAdapter(adapter);
Query Query=FirebaseDatabase.getInstance().getReference().child(“消息”);
PagedList.Config Config=new PagedList.Config.Builder()
.setEnablePlaceholders(false)
.设置预取距离(15)
.setInitialLoadSizeHint(15)
.setPageSize(10)
.build();
DatabasePagingOptions选项=新建DatabasePagingOptions.Builder()
.setLifecycleOwner(此)
.setQuery(查询、配置、消息.class)
.build();
适配器=新的FirebaseRecyclerPaginAdapter(选项){
@非空
@凌驾
public messageHolder onCreateViewHolder(@NonNull ViewGroup父级,int viewType){
LayoutInflater LayoutInflater=LayoutInflater.from(parent.getContext());
如果(viewType==已发送){
viewInst=layoutInflater.flate(R.layout.sent\u message\u item,parent,false);
返回新的消息持有者(视图);
}
viewInst=layoutInflater.flate(R.layout.receive_message_item,parent,false);
返回新的消息持有者(视图);
}
@凌驾
受保护的无效onBindViewHolder(@NonNull messageHolder viewHolder,int position,@NonNull final Messages model){
//将数据绑定到viewholder
}
@凌驾
受保护的void onLoadingState已更改(@NonNull LoadingState状态){
开关(状态){
案例加载_首字母:
setVisibility(View.VISIBLE);
打破
案例加载\u更多:
//加载动画
setVisibility(View.VISIBLE);
打破
已装入案例:
//停止动画
chatListLoader.setVisibility(View.GONE);
打破
案件完成:
//已到达数据集的末尾
打破
案例错误:
重试();
打破
}
}
@凌驾
public int getItemCount(){
返回super.getItemCount();
}
};
setAdapter(适配器);

如果需要代码的任何其他部分,请告诉我。提前感谢

FirebaseRecyclerPaginAdapter
不侦听实时更新。如果需要实时更新,请改用
FirebaseRecyclerAdapter