I am developing a comment section for my app. My goal is to create a way for users to reply to other comments and to be able to view and hide this comment list like on instagram:
How can I create a replies list within an item in a RecyclerView? Also, how to show and hide the replies?
Thanks in advance!
You can try with below design
All comments are located inside a RecyclerView.
Each item is a vertical LinearLayout(1) including:
First layer content a TextView (used for comment)
Second layer content another vertical linear layout(2), including:
a text view: View more replies
a second layer is another vertical linear layout(3) again
The third linear layout will contain replies, and will be show/hide on text view "view more replies" clicks. Newly added replies will be add to linear layout 3 by LinearLayout.addView() method.
Refresh recycler view items at resonable time by calling recycler view adapter notifyDataSetChanged() or similar methods.
you can make Expandable Recyclerview with the comment as the parent and the replies as the children
you can check this library and use it or edit on it and use it
https://github.com/thoughtbot/expandable-recycler-view
Related
I want to create what is basically a list view but without it being a ListView.
So I have a ListView right now that pulls up a layout with a CardView, TextView, etc. However I need to create multiple lists but listviews wrap the content up and makes me scroll inside the view - I don't want this. I want to be able to see the entire list and scroll in the main view.
How can I just add the layout with the CardView, instead of displaying it as a ListView? Would be a lot easier if I could attach an adapter to a Linear Layout or something.
Edit: I know I could add it all in the XML, but it seems like it'd get very bad looking in the xml code.
ListView (and RecyclerView) do a ton of non-trivial things that are very difficult to independently implement with your own homemade alternative. Fortunately, there are many third-party solutions that address your particular problem. A good choice is CWAC's MergeAdapter. It's essentially a wrapper of sub-adapters.
To handle the section headers, you can either make the first item of each sub-adapter a header item (styled accordingly). Or use MergeAdapter's addView() method to add a "header" view before each addAdapter() call.
I want to implement the below image in android ,
I have used Relative Layout to display content and Recycler view to display comments but I want both under one scroll while my problem is recycler view is creating another scroll.
I also thought to add a layout dynamically but in that every layout I have to implement click listener for every child , which is not good for performance
What could be the best way to implement it
You can make a ListView where row contains Comments part and add Image as a Header of that ListView.
The other way is to create a Custom Adapter and include Image and Comments as a single row of a ListView
For implementing a click event on each item you can refer to this answer
Why don't you use a ListView with custom elements in it (that look like the comments on the picture) instead of the RecyclerView
I know that is not a good practice put a ListView inside a ScrollView, that's why I want to figure out what kind of solution can handle this.
Look at the image below:
There's a block with some stuff on the top and there's a ListView below, and all of this scrolls with the entire layout. So, the question is:
How do I achieve this?
You should have just a ListView and set a headerView to this ListView to achieve what you want.
Use header View:
ListView below scrollview in Android
or Sticky List Headers if you want to make them stick on top of the listview:
https://github.com/emilsjolander/StickyListHeaders
or use different ViewTypes with your own Adapter implementation:
Listview: Only one list item with multiple textviews
Why do you assume the reviews shown there are in a ListView? To me they just look like a handful of custom Views stacked on top of each other, not an actual ListView.
I am using AdapterView to have Custom List. But my Xml layout not only
contains that List. It also have some other elements like TextBox,
labels, ImageButton at the top and bottom. so when i scroll it up
and animation starts it also draw elements on that Top Part(Which
contains ImageButton and other stuff). so can some one tell me how can
i remove it ? another issue is it do not have scrool bar. can some one
tell me how can i add scroll bar in it ?
for adding scroll bar to the listView add this attribute to your listview in the xml
android:scrollbars="vertical"
Check the following link. here i mentioned a complete code to use listview properly. Using this we can achieve any listview behavior. We can embed animation also.
For controlling list View Behavior ensure the getView Method of your list is generating the vew dynamically and as per your requirements . Each time a list get scrolled . The getView Method get called for all the element in the view. Do account all these things.
Change ListView background - strange behaviour
Hope this help :)
friend's
I have a task to place the horizontal scroll or swipe menu tabs in my application i did it where the appears top of the header,but my problem is to place the scroll menu has below the header
i have RelativeLayout where it contains two elements one after another,
TextView - for header
Gallery - for Scroll menu items
from the above code Gallery content been set from my activity,
for example the output i'm getting
looks, scroll menus(Gallery) - Header
(text view defined the above layout)
========================================
but i need it has
Header (text view defined the above layout) -
scroll menus(Gallery)
how can i get it.
thanks in advance.
If you had read at least one time the documentation (the same way for what Maragues said, please mark question as answered when they are otherwise people will not answer you anymore) you should have seen that there are xml attributes to RelativeLayouts like android:layout_below ...
Check this link
Is there something about LinearLayout that makes it unsuitable?