我的 Firebase 数据库有问题。
当我从数据库中获取数据时,我会在顶部获取旧数据。我如何更改它以在顶部获取新数据?
在 firebase 控制台中,新数据也在底部
我正在为 FirebaseAdapter 使用 listView。
// setting adapter
private void showAdapter() {
fBListAdapter = new FirebaseListAdapter<DiscountProduct>(ListDiscountActivity.this, DiscountProduct.class, R.layout.model_of_product, refDiscount) {
@Override
protected void populateView(View v, DiscountProduct model, int position) {
TextView nameProduct;
nameProduct = (TextView) .findViewById(R.id.modelCardNameProduct);
nameProduct.setText(model.getNameProduct());
}
};
listofDiscountProducts.setAdapter(fBListAdapter); //It's ListView on Activity
}
在 firebase 数据库中添加新数据无效
//adding data to firebase database
public static void createNewDiscountPost(String nameProduct) {
String key = refDiscount.push().getKey();
DiscountPost discountPost = new DiscountPost(nameProduct);
Map<String, Object> createNewDiscountPost = discountPost.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("/" + key, createNewDiscountPost);
refDiscount.updateChildren(childUpdates);
}
最佳答案
在您的 ListView 适配器中制作 getitem
以相反的顺序返回您的项目
@Override
public Object getItem(int position) {
return super.getItem(super.getCount() - position - 1);
}
或者您可以尝试 listView.setStackFromBottom(true);
关于android - 使用 Firebase 数据库首先显示新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43656830/