J'ai un RecyclerView avec un adaptateur personnalisé qui étend RecyclerView.AdapterRecyclerView Affichage des données aléatoires
Je crée LinearLayout avec Textview à l'exécution et le gonfler dans chaque rangée de RecyclerView
Par exemple, 1 ère Ligne de RecyclerView aura 2 ou 3 Textview créé à l'exécution, la 2ème rangée aura 2 ou 3 textviews créés à l'exécution, la 3ème rangée aura quelques textviews ... et ainsi de suite ...
Son fonctionnement presque Préfet si je vérifie mon journal ... Mais quand je le fais défiler vers le bas, il place juste un peu de texte dans les mauvais endroits, signifie que je reçois précédent Texte à nouveau lorsque je fais défiler vers le bas dans les mauvais endroits
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
//Movie movie = mItems.get(i);
hm2 = new HashMap<String, ArrayList<PD_Data>>();
sub_rows2 = new ArrayList<PD_Data>();
hm2=categories.get(i);
String key=hm2.keySet().toArray()[0].toString();
sub_rows2=hm2.get(key);
Log.i(LOG_TKT,key);
viewHolder.textview_category.setText(key);
LayoutInflater inflater;
View new_sub_row;
for(int x=0;x<sub_rows2.size();x++){
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
new_sub_row = inflater.inflate(R.layout.recyclerview_pd, null);
TextView heading2 = (TextView)new_sub_row.findViewById(R.id.heading2);
heading2.setText(sub_rows2.get(x).sub_heading);
Log.i(LOG_TKT,sub_rows2.get(x).sub_heading);
TextView detail2 = (TextView)new_sub_row.findViewById(R.id.detail2);
detail2.setText(sub_rows2.get(x).value);
Log.i(LOG_TKT, sub_rows2.get(x).value);
viewHolder.linearlayout_recyclerview_pd.addView(new_sub_row);
}
//viewHolder.imgThumbnail.setImageResource(movie.getThumbnail());
hm2 = new HashMap<String, ArrayList<PD_Data>>();
sub_rows2 = new ArrayList<PD_Data>();
}
Qu'est-ce que je fais mal?
OK, rencontré aller à travers ces liens ... –
Hey @Ari J'ai parcouru les liens que vous avez fournis et réponds à ce lien. Je l'ai maintenant comment fonctionne RecyclerView et l'utilisation de getItemViewType ie, je peux fournir différentes dispositions pour différentes lignes en fonction de ma logique (à savoir, sur quelle ligne non) ... Mais je ne comprends pas comment le faire au Runtime, signifie J'ai un fichier layout.xml pour les looks de cardsView ... mais certaines lignes peuvent avoir 2 cardsView, et certaines lignes peuvent avoir plus de 2 CardsView .... alors comment faire ça .... merci de nous aider ... –
Bon travail sur la lecture! Vous manquez probablement juste une chose de plus. Vous devez créer vos différents types ViewHolder avec différentes mises en page. Donc, dans votre cas, vous avez besoin d'une mise en page régulière, et une mise en page avec deux CardViews. – Ari