RecyclerView vs. ListView
RecyclerView
was created as a ListView
improvement, so yes, you can create an attached list with ListView
control, but using RecyclerView
is easier as it:
Reuses cells while scrolling up/down - this is possible with implementing View Holder in the
ListView
adapter, but it was an optional thing, while in theRecycleView
it's the default way of writing adapter.Decouples list from its container - so you can put list items easily at run time in the different containers (linearLayout, gridLayout) with setting
LayoutManager
.
Example:
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
//or
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
- Animates common list actions - Animations are decoupled and delegated to
ItemAnimator
.
There is more about RecyclerView
, but I think these points are the main ones.
So, to conclude, RecyclerView
is a more flexible control for handling "list data" that follows patterns of delegation of concerns and leaves for itself only one task - recycling items.
Why does Recycler View offers a better experience than List View?
The RecyclerView
widget is a more advanced and flexible version of ListView
.
RecyclerView
was created as aListView
improvement,- In the
RecyclerView
model, several different components work together to display your data. The overall container for your user interface is aRecyclerView
object that you add to your layout. RecyclerView
drastically improve performance- The
RecyclerView
fills itself with views provided by a layout manager that you provide. - Advantages of
RecyclerView
is- Efficiently Reuses cells while scrolling up/down
- Decouples list from its container
- Animations are decoupled and delegated to
ItemAnimator
- RecyclerView is a more flexible control for handling "list data" that follows patterns of delegation of concerns and leaves for itself only one task - recycling items
what is the difference between ScrollView, ListView, RecyclerView and WebView?
SCROLLVIEW
ScrollView is used to put different or same child views or layouts and the all can be scrolled.
Listview
ListView is used to put same child view or layout as multiple items. All these items are also scrollable.
Simply ScrollView is for both homogeneous and heterogeneous collection. ListView is for only homogeneous collection.
What is RecyclerView?
The RecyclerView widget is a more advanced and flexible version of ListView.
Why RecyclerView?
RecyclerView is a container for displaying large data sets that can be scrolled very efficiently by maintaining a limited number of views.
When you should use RecyclerView?
You can use the RecyclerView widget when you have data collections whose elements
changes at runtime based on user action or network events.
WEBVIEW
WebView in Android turns the application into a web application. It comes from
android.webkit.WebView. Here, the WebView class is an extension of Android's View
class which is used to show the web pages. WebView doesn't include all the features
of Web-browser-like navigation controls or an address bar etc.
What is the difference between ListView, AbsListView and RecyclerView
First, AbsListView
is an abstract class and can't be used as a View
element in application layout, although you can use it as a Base Class
to implement your own View
.
Before Lollipop, there wasn’t RecyclerView
, it was introduced as a part of Material Design. It introduced a new way of handling listeners.
You can read more in-depth explanation Here
Starting from Lollipop it is considered as good practice to use RecyclerView
instead of deprecated ListView
.
You can read how to use RecyclerView
at official android documentation given by google or use this great tutorial.
Related Topics
How to Disable Orientation Change on Android
What Permission Do I Need to Access Internet from an Android Application
How to Install Google Play Services in a Genymotion Vm (With No Drag and Drop Support)
Android Gallery on Android 4.4 (Kitkat) Returns Different Uri For Intent.Action_Get_Content
Android Saving File to External Storage
How to Call Android Contacts List
Android - Dynamically Add Views into View
Passing a Bundle on Startactivity()
How to Add Dividers and Spaces Between Items in Recyclerview
Android: How to Get String from Resources Using Its Name
How to Use Recyclerview Inside Nestedscrollview
How to Use Drawerlayout to Display Over the Actionbar/Toolbar and Under the Status Bar