我正在使用FirebaseRecyclerAdapter设置Firebase Reyclerview,现在应该从两个不同的数据库引用中获取我的适配器,并将其绑定到同一个recyclerview中,有人知道如何解决此问题吗?
我正在使用一个接口来获取这样的数据库引用
private interface CallBack{
void onCallback(String Position, String PositionTwo);
}
然后我将它们发送给函数
private void loadItems(String Position, String PositionTwo) {
adapter = new FirebaseRecyclerAdapter<Foo, FooViewHolder>(
Foo.class,
R.layout.Foo_item,
FooViewHolder.class,
reference.child(Position).child(PositionTwo)
) {
@Override
protected void populateViewHolder(FooViewHolder viewHolder,
Foo model, int position) {
viewHolder.mDescription.setText(model.getDescription());
viewHolder.mName.setText(model.getName());
Picasso.get().load(model.getImage()).into(viewHolder.mImage);
}
};
我的ViewHolderClass是
public class FooViewHolder extends RecyclerView.ViewHolder
implements View.OnClickListener,
{
public TextView mName;
public CircleImageView mImage;
private ItemClickListener itemClickListener;
public TextView mDescription;
public FooViewHolder(View itemView) {
super(itemView);
mImage = (CircleImageView) itemView.findViewById(R.id.mImage);
mName = (TextView) itemView.findViewById(R.id.mName);
mDescription = (TextView) itemView.findViewById(R.id.mDescription);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
}
现在这不起作用,因为它只接受传递给适配器的第一个参数,而不接受从接口传递的参数!
最佳答案
现在应该从两个不同的数据库引用中获取我的适配器。
基本上,这意味着您正在尝试使用两个查询(数据库引用)并将它们传递给适配器,但是不幸的是,无法将两个查询合并到一个FirestoreRecyclerAdapter
对象中。只允许一个。
我能想到的一种可能的解决方案是创建一个列表,其中将包含您应用程序中这些查询的组合结果,然后将该列表传递给ArrayAdapter
。这不是完美的,因为您不会使用Firebase-UI
库,但是可以解决问题。