【发布时间】:2017-04-12 03:06:09
【问题描述】:
cmdr= (RecyclerView) findViewById(R.id.cmdr);
mLayoutManager = new LinearLayoutManager(InterR.this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
Query q= FirebaseDatabase.getInstance().getReference().child("com").orderByChild("id").equalTo(idrc.getText().toString());
mAdapter4 = new FirebaseRecyclerAdapter<Cmd,mViewHolder>(Cmd.class,R.layout.item_cmd_r,mViewHolder.class,
q) {
@Override
protected void populateViewHolder(mViewHolder viewHolder, Cmd model, int position) {
if(this.getRef(position).getKey()!=null)
{viewHolder.idc.setText(this.getRef(position).getKey());}
if(model.getAddress()!=null)
{viewHolder.adc.setText(model.getAdresse());}
}
};
mAdapter4.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver()
{
@Override
public void onItemRangeInserted(int positionStart, int ItemCount){
super.onItemRangeInserted(positionStart,ItemCount);
int roomCount = mAdapter4.getItemCount();
int lastVisiblePosition = mLayoutManager.findLastCompletelyVisibleItemPosition();
if (lastVisiblePosition == -1 || (positionStart >= (roomCount -1) && lastVisiblePosition == (positionStart -1))){
cmdr.scrollToPosition(positionStart);
}
}
});
cmdr.setLayoutManager(mLayoutManager);
cmdr.setAdapter(mAdapter4);
我正在尝试使用 FirebaseRecyclerAdapter 检索到的数据填充 RecyclerView,它可以正常工作,但问题是每当添加项目时,项目不会显示在列表的末尾或顶部,而是插入相同的在数据库中的位置
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview firebaseui