Is There A Way To Use A Viewstub Inside A Recyclerview?
Solution 1:
In your bindQuestion()
method you are referencing two different layouts to inflate, so in essence you have two different view types.
Adapter views have an efficient way way to handle this built right in.
Start by overriding getItemViewType()
. When the item at position
gets the module_yes_no
layout, return 0. When it gets the module_custom
layout, return 1.
Then in onCreateViewHolder()
, when the viewType
parameter is 0, inflate a list_item_re_question
view complete with the module_yes_no
layout. When viewType
== 1, inflate the module_custom
version of the view.
Now when you get a view in onBindViewHolder()
, it will already have the correct subview, so you proceed to fill out that view as needed. By using getItemViewType()
, the RecyclerView
is working with you to recycle the exact view you need.
You can even have two FeedItem
subclasses, one for module_yes_no
and one for module_custom
, so in onBindViewHolder()
, you just check the class of the ViewHolder
and branch accordingly.
That should help improve the performance of your app.
Post a Comment for "Is There A Way To Use A Viewstub Inside A Recyclerview?"