我正在向我的数据库添加内容( Firebase ),这些内容可能会被加载到我的recyclerview中。但新内容始终显示在recyclerview的底部。有没有办法让它们出现在顶部而不是出现在底部
答案 0 :(得分:0)
如果您想在顶部显示新项目,只需在您的活动中添加此代码即可。 您需要反转您的RecyclerView,然后您完全需要此代码段。它不需要任何修改或任何特殊库。在LinearLayoutManager上工作非常简单。
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(mLayoutManager);
首先,您需要创建一个LinearLayoutManager对象并使用“setReverseLayout(true)”和“setStackFromEnd(true)”方法来反转并在最后添加项目。
答案 1 :(得分:0)
我终于解决了这个问题我需要做的就是将一个整数变量初始化为0,将它与模型类的对象一起添加到Firebase数据库中,最后通知插入到的项目适配器。代码将更好地解释
int position = 0;
ArrayList<Places> data = new ArrayList<>();
LinearLayoutManager lg = new LinearLayoutManager(this);
然后最终的代码就是这个
valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Places content = ds.getValue(Places.class);
data.add(position,content);
adapter = new YourAdapter(data, getApplicationContext);
recyclerview.setLayoutManager(new Line);
recyclerview.setAdapter(adapter);
adapter.notifyItemInserted(position);
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Handle error code here
}
});