Добавить заголовок для RecyclerView для данных из Firebase - PullRequest
0 голосов
/ 16 октября 2018

Я добавил фото со структурой на Firebase и желаемый результат.Я не могу понять, как добавить HeaderView в этот код, чтобы получить разные заголовки в зависимости от значения в Firebase.Я нашел какой-то код для добавления заголовка для обычного RecyclerView, но я не понимаю, как правильно его изменить для RecyclerView из Firebasedata.

Мой рабочий обзор recycler для получения данных из Firebase до сих пор: MainActivity

Query query = databaseReference.orderByChild("header");
            FirebaseRecyclerAdapter<Movie, MovieViewHolder> firebaseRecyclerAdapter =
                new FirebaseRecyclerAdapter<Movie, MovieViewHolder>(
                        Movie.class,
                        R.layout.movies_all,
                        MovieViewHolder.class,
                        query
                ) {
                    @Override
                    protected void populateViewHolder(MovieViewHolder viewHolder, Movie movie, int position) {
                        viewHolder.setDetails(getApplicationContext(),
                                movie.getTickets(),
                                movie.getHeader(),
                                movie.getPrice());
                    }
                };
        mRecyclerView.setAdapter(firebaseRecyclerAdapter);

MovieViewHolder:

public class MovieViewHolder extends RecyclerView.ViewHolder {

View mView;

public MovieViewHolder(View itemView) {
    super(itemView);
    mView = itemView;
}


// details for recycler view
public void setDetails(Context ctx, String Tickets, String Header, long Price){

    TextView mTicketsView = mView.findViewById(R.id.ticketstext);
    TextView mHeaderView = mView.findViewById(R.id.headertext);
    TextView mPriceView = mView.findViewById(R.id.pricetext);

    mTicketsView.setText(Tickets);
    mHeaderView.setText(Header);
    mPriceView.setText("Preis: "+Long.toString(Price)+" €");
}

Movie.class

public class Movie {
String header, tickets;
long price;
public Movie() {}
public Movie(String Header, String Tickets, long Price){
    this.header= Header;
    this.tickets = Tickets;
    this.price = Price;
}

 public String getHeader(){return header; }
 public String getTickets(){return tickets; }
 public long getPrice(){return price; }

Спасибо за вашу помощь заранее !!

Sry for bad image

...