Как я могу получить один и тот же просмотрщик из нескольких ссылок на базу данных - PullRequest
0 голосов
/ 02 февраля 2019

Я настраиваю Firebase Reyclerview с FirebaseRecyclerAdapter, теперь мой адаптер должен быть извлечен из двух разных ссылок на базу данных и привязан к одному и тому же представлению переработчика, кто-нибудь знает, как решить эту проблему?

Я использую интерфейсчтобы получить ссылки на базу данных, как это

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) {

}

Теперь это не работаетпоскольку он принимает только первый аргумент, передаваемый адаптеру, но не то, что передается после этого из интерфейса!

1 Ответ

0 голосов
/ 04 февраля 2019

теперь мой адаптер должен быть выбран из двух разных ссылок на базы данных.

Это в основном означает, что вы пытаетесь использовать два запроса (ссылки на базу данных) и передать их адаптеру, но, к сожалению,невозможно объединить два запроса в один объект FirestoreRecyclerAdapter.Разрешается только один.

Возможное решение, о котором я могу подумать, - это создать список, который будет содержать объединенные результаты этих запросов в вашем приложении, а затем передать этот список в ArrayAdapter.Он не идеален, так как вы не будете использовать библиотеку Firebase-UI, но это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...