我正在使用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库,但是可以解决问题。

10-07 16:30