Recyclerview, which was added in the V7 package, a flexible view can show a huge data set, similar to the Viewholder reuse of the ListView has been optimized.
The language is pale, and the code is the most vivid narration:
Layout:
<framelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http// Schemas.android.com/tools " android:layout_width=" match_parent " android:layout_height=" Match_parent " tools:context= ". Ui.main.MainActivity" android:padding= "12DP" android:orientation= "vertical" > <android.support.v7.widget.recyclerview android:id= "@+id/recycler" android:layout_width= "match _parent " android:layout_height=" match_parent " android:overscrollmode=" never " android: Cliptopadding= "false"/> <progressbar android:id= "@+id/progress" android:layout_width= " Wrap_content " android:layout_height=" wrap_content " android:layout_gravity=" center " android: Visibility= "Gone" /></framelayout>
Adapter
Package Com.escorps.retrodagger.adapter;import Android.support.v7.widget.recyclerview;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;import Android.widget.TextView ; Import Com.escorps.retrodagger.r;import Com.escorps.retrodagger.models.petmodel;import Java.util.List;import Butterknife. Butterknife;import Butterknife. Injectview; Public classRecyclerviewadapter extends Recyclerview.adapter<recyclerviewadapter.viewholder>{ PrivateList<petmodel>items; Public voidSetitems (list<petmodel>items) { This. Items =items; } @Override PublicViewholder Oncreateviewholder (viewgroup parent,intViewType) {View v= Layoutinflater. from(Parent.getcontext ()). Inflate (R.layout.item_recycler, parent,false); return NewViewholder (v); } @Override Public voidOnbindviewholder (final Viewholder holder,intposition) {Final Petmodel item= Items.Get(position); Holder.textName.setText (Item.getname ()); Holder.itemView.setTag (item); } @Override Public intGetItemCount () {returnitems.size (); } protected Static classViewholder extends Recyclerview.viewholder {@InjectView (r.id.textname) TextView textname; PublicViewholder (View itemview) {super (Itemview); Butterknife.inject ( This, Itemview); } }}View Code
Note Before using adapter: Recyclerview.setlayoutmanager (New Gridlayoutmanager (this, 1));
Recyclerview Xiao Kee