Я пытаюсь показать 3 разных элемента из моей базы данных в Firebase. У меня есть RecyclerView, чтобы показать это, но он показывает только 1 из 3.
В моем адаптере у меня есть это:
public class MensajeAdapter extends RecyclerView.Adapter<MensajeAdapter.ViewHolder> {
private int resource;
private ArrayList<Mensaje> mensajesList;
public MensajeAdapter(ArrayList<Mensaje>mensajesList, int resource){
this.mensajesList = mensajesList;
this.resource = resource;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(resource, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int index) {
Mensaje mensaje = mensajesList.get(index);
Mensaje mensaje2 = mensajesList.get(index);
Mensaje mensaje3 = mensajesList.get(index);
viewHolder.textViewTitulo.setText(mensaje.getTitulo());
viewHolder.textViewDescripcion.setText(mensaje2.getTitulo());
viewHolder.textViewFecha.setText(mensaje3.getTitulo());
}
@Override
public int getItemCount() {
return mensajesList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public View view;
private TextView textViewTitulo;
private TextView textViewDescripcion;
private TextView textViewFecha;
public ViewHolder(View view){
super(view);
this.view=view;
this.textViewTitulo = (TextView) view.findViewById(R.id.textViewEvento);
this.textViewDescripcion = (TextView) view.findViewById(R.id.textViewDescripcion);
this.textViewFecha = (TextView) view.findViewById(R.id.textViewFecha);
}
}
}
У меня есть модели здесь:
В моей работе у меня есть это, чтобы показать различные элементы.
Это отображается в TextView, а TextView отображается в RecyclerView:
public class MostarEventosActivity extends AppCompatActivity {
private DatabaseReference mDatabaseShow;
private MensajeAdapter mAdapter;
private RecyclerView mRecyclerView;
private ArrayList<Mensaje> mMensajesList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mostar_eventos);
mDatabaseShow = FirebaseDatabase.getInstance().getReference();
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerViewEventos);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
getMensajesFirebase();
}
private void getMensajesFirebase(){
mDatabaseShow.child("Eventos").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
for(DataSnapshot ds: dataSnapshot.getChildren()){
String Titulo = ds.child("Titulo").getValue().toString();
String Descripcion = ds.child("Descripción").getValue().toString();
String Fecha = ds.child("Fecha").getValue().toString();
mMensajesList.add(new Mensaje(Titulo, Descripcion, Fecha));
}
mAdapter = new MensajeAdapter(mMensajesList, R.layout.evento_view);
mRecyclerView.setAdapter(mAdapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Это база данных