Recyclerview is an upgraded version of the ListView that provides better performance and is easier to use.
Recyclerview This control is a large collection of views that can be loaded and can be recycled and scrolled very efficiently. You can use the Recyclerview control when the elements in your list often change dynamically .
The Recyclerview is very easy to use and offers the following two features:
The Layout Manager (Recyclerview) is provided for each entry location. setlayoutmanager)
Action Animation for each entry (Recyclerview.setitemanimator)
The following example shows how to define and use a Recyclerview:
1. Add a recyclerview to the layout file
<!--- <Android.support.v7.widget.RecyclerView Android:id= "@+id/my_recycler_view" android:scrollbars= "vertical" Android:layout_width = "Match_parent" android:layout_height= "match_parent"/>
2. Initialize the Recyclerview parameter, set LayoutManager and adapter
Public classMyActivityextendsActivity {PrivateRecyclerview Mrecyclerview; PrivateRecyclerview.adapter Madapter; PrivateRecyclerview.layoutmanager Mlayoutmanager; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (r.layout.my_activity); Mrecyclerview=(Recyclerview) Findviewbyid (R.id.my_recycler_view); //Improve Performance If you know this changes in content//Don't change the size of the RecyclerviewMrecyclerview.sethasfixedsize (true); //Use a linear layout managerMlayoutmanager =NewLinearlayoutmanager ( This); Mrecyclerview.setlayoutmanager (Mlayoutmanager); //Specify an adapter (see also next example)Madapter =NewMyadapter (myDataSet); Mrecyclerview.setadapter (Madapter); } ... }
3. Create a adapter
Public classMyadapterextendsRecyclerview.adapter<myadapter.viewholder> { Privatestring[] Mdataset; //provide a reference to the type of views that is using//(custom Viewholder) Public Static classViewholderextendsRecyclerview.viewholder { PublicTextView Mtextview; PublicViewholder (TextView v) {Super(v); Mtextview=v; } } //provide a suitable constructor (depends on the kind of datasets) PublicMyadapter (string[] mydataset) {Mdataset=myDataSet; } //Create New Views (invoked by the layout manager)@Override PublicMyadapter.viewholder Oncreateviewholder (viewgroup parent, intViewType) { //Create a new viewView v =Layoutinflater.from (Parent.getcontext ()). Inflate (R.layout.my_text_view, parent, false); //set the view ' s size, margins, paddings and layout parameters ... Viewholder VH=NewViewholder (v); returnVH; } //Replace The contents of a view (invoked by the layout manager)@Override Public voidOnbindviewholder (Viewholder holder,intposition) { //-Get element from your dataset on this position//-Replace the contents of the view with that elementHolder.mTextView.setText (mdataset[position]); } //Return the size of your dataset (invoked by the layout manager)@Override Public intGetItemCount () {returnmdataset.length; } }
Original address: http://www.open-open.com/lib/view/open1416664070023.html
Material Design (ii) Recyclerview of--ui controls