![](/img/trans.png)
[英]Using GeoFire to Populate Firebase Recycler View in android
[英]Filter the query and refresh the recycler view using firebase in android
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
FirebaseRecyclerAdapter<Product, ProductViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Product, ProductViewHolder>(
Product.class,
R.layout.product_row,
ProductViewHolder.class,
mDatabase
) {
@Override
protected void populateViewHolder(ProductViewHolder viewHolder, Product model, int position) {
Log.d(TAG, "loading view " + position);
final String product_id = getRef(position).getKey();
viewHolder.setTitle(model.getName());
viewHolder.setDesc(model.getDesc());
viewHolder.setImage(getApplicationContext(), model.getImage());
viewHolder.setUsername(model.getUsername());
viewHolder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent productDetailIntent = new Intent();
productDetailIntent.setClass(MainActivity.this, ProductDetailActivity.class);
productDetailIntent.putExtra("product_id", product_id);
Log.d(TAG + " product_id", product_id);
startActivity(productDetailIntent);
}
});
Log.d(TAG, "finish loading view");
}
};
mProductList.setAdapter(firebaseRecyclerAdapter);
}
上面是我用來從Firebase實時數據庫中獲取數據的代碼。 如何更改查詢(代碼中的mDatabase)並刷新recyclerview來過濾數據? 如何設置新適配器? 請給我一些幫助。謝謝。
嘗試這個:
FirebaseRecyclerAdapter<Product, ProductViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Product, ProductViewHolder>(
Product.class,
R.layout.product_row,
ProductViewHolder.class,
mDatabase.orderByChild("KeyName").equalTo("Value") //add this line
)
mProductList.setAdapter(firebaseRecyclerAdapter);
firebaseRecyclerAdapter.notifyDataSetChanged(); // also add this line
在您的數據庫中設置查詢...
FirebaseRecyclerAdapter<Product, ProductViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Product, ProductViewHolder>(
Product.class,
R.layout.product_row,
ProductViewHolder.class,
mDatabase.orderByChild("KeyName").equalTo("Value")
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.