/ / Come impostare colonne diverse per le righe in Android RecycleView - Android, Android-Recyclerview

Come impostare diverse colonne per le righe in Android RecycleView - android, android-recyclerview

voglio impostare diversi layout di colonne per la riga, come mostrato nella figura sotto

inserisci la descrizione dell'immagine qui

Voglio questo tipo di layout attualmente sto ottenendo due immagini per l'utilizzo recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); su ogni riga, quindi, come posso raggiungere questo obiettivo.

Layout degli oggetti di RecycleView come

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.gordonwong.materialsheetfab.sample.SquareImageView
android:id="@+id/phone"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />

e nel mio file di classe impostare l'adattatore come

recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
adapter = new GridViewAdapter(getActivity(), infoarraylist);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
Collections.reverse(infoarraylist);
recyclerView.setItemAnimator(new DefaultItemAnimator());

risposte:

-1 per risposta № 1
mLayoutManager = new GridLayoutManager(getActivity(), 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (infoarraylist.get(position) instanceof YOUROBJECT) {
return 1;
} else if (infoarraylist.get(position) instanceof YOUROBJECT) {
return 2;
}
return -1;
}
});
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setAdapter(adapter);