Vista del reciclador que muestra un solo elemento

Estoy enfrentando un error extraño donde recyclerview está mostrando solamente un solo artículo. A continuación se muestra el código para mi adaptador recyclerview:

public class ChatAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { List<chat> chats; String username; final int My=0,Their=1; public ChatAdapter(List<chat> chats) { this.chats = chats; this.username = PushApp.getApp().getSPF().getStringData(Constants.ANAME); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { RecyclerView.ViewHolder viewHolder; LayoutInflater inflater = LayoutInflater.from(parent.getContext()); switch (viewType) { case My: View v1 = inflater.inflate(R.layout.my_chat_child, parent, false); viewHolder = new MyChatHolder(v1); break; case Their: View v2 = inflater.inflate(R.layout.their_chat_child, parent, false); viewHolder = new TheirMessageHolder(v2); break; default: View v = inflater.inflate(R.layout.my_chat_child, parent, false); viewHolder = new MyChatHolder(v); break; } return viewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (holder.getItemViewType()) { case My: MyChatHolder myChatHolder = (MyChatHolder) holder; myChatHolder.setMyMessage(chats.get(position).getMessage()); break; case Their: TheirMessageHolder theirMessageHolder = (TheirMessageHolder) holder; theirMessageHolder.setTheirChat(chats.get(position).getFrom(), chats.get(position).getMessage()); break; } } @Override public int getItemViewType(int position) { if(username.equalsIgnoreCase(chats.get(position).getFrom())) return My; return Their; } @Override public int getItemCount() { return chats.size(); }} 

Ya he utilizado este código en otra aplicación y su funcionamiento perfectamente. He comprobado los datos de los chats que es también perfecto.

Aquí está el enlace a los archivos de disposición de git repo: archivos de diseño

No utilice match_parent para la altura de su vista de elemento. Un elemento llena toda la pantalla verticalmente para que no vea otra.

Cuando usted está creando row.xml para recyclerview debe seguir estas cosas:

  1. Siempre use "Wrap_content" para la altura de la fila de lo contrario en "match_parent" ocupará toda la pantalla para una sola fila.

  2. También puede tomar la altura en dp.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.