我设立一个火力地堡Reyclerview与FirebaseRecyclerAdapter,现在我的适配器将被取回从两个不同的数据库引用和绑定到同一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) {
}
现在这行不通,因为它只接受传递给适配器的第一个参数,而不接受从接口传递的参数!
答案 0 :(得分:1)
现在应该从两个不同的数据库引用中获取我的适配器。
这基本上意味着您正在尝试使用两个查询(数据库引用)并将它们传递给适配器,但是不幸的是,无法将两个查询合并到一个FirestoreRecyclerAdapter
对象中。只能允许一个。
我可以想到的一种可能的解决方案是创建一个列表,其中将包含应用程序中这些查询的组合结果,然后将该列表传递给ArrayAdapter
。这并不完美,因为您不会使用Firebase-UI
库,但可以解决问题。