के कॉलम की संख्या को गतिशील रूप से बदलें, मैं वास्तव में अपने ऐप में दो कॉलम के साथ एक ग्रिडलाउट मैनेजर का उपयोग कर रहा हूं और मैं उपयोग किए गए दृश्य प्रकार के आधार पर एक कॉलम रखना चाहता हूं।गतिशील रूप से GridLayoutManager
यहाँ कोड मैं विधि मेरी टुकड़ा के "onCreateView()" में है:
@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;
}
}
तो:
// 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);
फिर, मेरी अनुकूलक में, मैं कोड के इस प्रकार है , जब "TYPE_PREMIUM" दृश्य का उपयोग किया जाता है, तो मैं एक बटन (इसलिए एक कॉलम में) प्रदर्शित करना चाहता हूं और अन्य परिणामों के लिए सामान्य ग्रिडव्यू (दो कॉलम) रखना चाहता हूं।
क्या ऐसा करना संभव है?
धन्यवाद!
बिल्कुल सही, बस मुझे जो चाहिए, धन्यवाद! – fraxool