Android perfectly baseadapter two times in package

Source: Internet
Author: User

In the development of the interface of the list will often rewrite Baseadapter, using the knowledge of the Internet skills, self-made it two times the package is convenient for later use in the project. It is convenient to use.

Of course how you look at the code can be, can also be expandablelistadapter the same package!

To use a custom baseadapter:

Package Com.cyy.myandroid;import Android.content.context;import Android.provider.contactscontract.data;import Android.text.spannable;import Android.text.spannablestring;import Android.text.style.foregroundcolorspan;import Android.view.view;import Android.widget.textview;public class Rankinglistadapter extends Baseadapter<data> { Public Rankinglistadapter (Context context) {super (context);} @Overridepublic int Getcontentview () {//item layout return r.layout.activity_main_item;} @Overridepublic void Oninitview (view view, int position) {TextView Tvnumb = get (view, r.id.tv);  The control in the direct item layout Data data = GetItem (position), Tvnumb.settext (string.valueof (position + 1));}}

Custom Baseadapter:

Package Com.cyy.myandroid;import Java.util.arraylist;import Java.util.list;import android.content.context;import Android.util.sparsearray;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public abstract class Baseadapter<t> extends Android.widget.BaseAdapter {private List <T> list;protected Context Context;public Baseadapter (context context) {init (context, new arraylist<t> ());} Public Baseadapter (Context context, list<t> list) {init (context, list);} private void init (context context, list<t> List) {this.list = List;this.context = Context;} Public list<t> getList () {return List;} public void setlist (list<t> list) {this.list = list;} public void Clear () {this.list.clear (); notifydatasetchanged ();} public void AddAll (list<t> list) {if (list = null) {this.list.addAll (list); notifydatasetchanged ();}} @Overridepublic int GetCount () {return list = = null? 0:list.size ();} @Overridepublic T getItem (int position) {REturn List.get (position);} @Overridepublic long Getitemid (int position) {return position;} @Overridepublic view GetView (int position, view Convertview, ViewGroup parent) {if (null = = Convertview) {Convertview = in Flate (Getcontentview ());} Oninitview (Convertview, position); return Convertview;} /** load Layout */private View inflate (int layoutresid) {Layoutinflater layoutinflater = (layoutinflater) Context.getsystemservice (Context.layout_inflater_service); View view = Layoutinflater.inflate (Layoutresid, null); return view;}            public abstract int Getcontentview ();p ublic abstract void Oninitview (view view, int position);/** * * @param view * Converview * @param ID * control's ID * @return return <t extends view> */@SuppressWarnings ("unchecked") protect Ed <e extends view> E get (view view, int id) {sparsearray<view> Viewholder = (sparsearray<view>) view.ge Ttag (); if (null = = Viewholder) {Viewholder = new sparsearray<view> (); View.settag (Viewholder);} View Childview = VieWholder.get (ID), if (null = = Childview) {Childview = View.findviewbyid (ID); Viewholder.put (ID, childview);} Return (E) Childview;}}


Android perfectly baseadapter two times in package

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.