In realtà sto utilizzando un GridLayoutManager con due colonne nella mia app e vorrei avere una colonna in base al tipo di visualizzazione utilizzato.Cambia dinamicamente il numero di colonne di GridLayoutManager
Ecco il codice che ho nel metodo "onCreateView()" del mio frammento:
// Recycler view for users
usersList = (RecyclerView) mView.findViewById(R.id.usersList);
// Layout manager (grid of users
layoutManager = new GridLayoutManager(mContext, 2);
usersList.setLayoutManager(layoutManager);
// ArrayList of users
users = new ArrayList<User>();
// Set the adapter for the list of users
mHomeListAdapter = new HomeListAdapter(getActivity(), users);
usersList.setAdapter(mHomeListAdapter);
Poi, nel mio adattatore, ho questo tipo di codice:
@Override
public int getItemViewType(int position) {
if (position == 5) {
return TYPE_PREMIUM;
} else {
return TYPE_ITEM;
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == TYPE_PREMIUM) {
View view = mInflater.inflate(R.layout.become_premium, parent, false);
HeaderViewHolder holder = new HeaderViewHolder(view);
return holder;
} else {
View view = mInflater.inflate(R.layout.posts_item, parent, false);
ViewHolderPosts holder = new ViewHolderPosts(view);
return holder;
}
}
Così , quando viene utilizzata la vista "TYPE_PREMIUM", mi piacerebbe visualizzare un pulsante (quindi in una colonna) e avere un normale gridview (due colonne) per gli altri risultati.
È possibile farlo?
Grazie!
Perfetto, proprio quello di cui avevo bisogno, grazie! – fraxool