安卓封装Baseadapter-创新互联
package com.base.baseandroid; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import java.util.List; public abstract class CommonAdapter创新互联成立于2013年,先为拉萨等服务建站,拉萨等地企业,进行企业商务咨询服务。为拉萨企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。extends BaseAdapter { private Context mContext; private List mDatas; private int mLayoutId; public CommonAdapter(Context context, List datas, int layoutId) { this.mContext = context; this.mDatas = datas; this.mLayoutId = layoutId; } @Override public int getCount() { return mDatas.size(); } @Override public T getItem(int position) { return mDatas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = ViewHolder.get(mContext, convertView, mLayoutId, position); setValueForView(holder, getItem(position)); return holder.getConvertView(); } public abstract void setValueForView(ViewHolder holder, T t); } package com.base.baseandroid; import com.lidroid.xutils.BitmapUtils; import android.content.Context; import android.graphics.Bitmap; import android.util.SparseArray; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.TextView; public class ViewHolder { private SparseArray mViews; protected int mPosition; private View mConvertView; private Context context; private BitmapUtils bitmapUtils; public View getConvertView() { return mConvertView; } public ViewHolder(Context context, int layoutId, int position) { this.mPosition = position; this.mViews = new SparseArray (); this.context = context; bitmapUtils = new BitmapUtils(context); mConvertView = LayoutInflater.from(context).inflate(layoutId, null); mConvertView.setTag(this); } public static ViewHolder get(Context context, View convertView, int layoutId, int position) { if (convertView == null) { return new ViewHolder(context, layoutId, position); } else { ViewHolder holder = (ViewHolder) convertView.getTag(); holder.mPosition = position; // 注意:这句代码是必须的,否则复用的时候position会出错 return holder; } } public T getViewById(int viewId) { View view = mViews.get(viewId); if (view == null) { view = getConvertView().findViewById(viewId); mViews.put(viewId, view); } return (T) view; } public ViewHolder setText(int viewId, String text) { TextView textView = getViewById(viewId); textView.setText(text); return this; } public ViewHolder setImageResource(int viewId, int resId) { ImageView p_w_picpathView = getViewById(viewId); p_w_picpathView.setImageResource(resId); return this; } public ViewHolder setImageBitmap(int viewId, Bitmap bitmap) { ImageView p_w_picpathView = getViewById(viewId); p_w_picpathView.setImageBitmap(bitmap); return this; } public ViewHolder setImg(int viewId, String url) { ImageView p_w_picpathView = getViewById(viewId); bitmapUtils.display(p_w_picpathView, url); return this; } public ViewHolder setImgOnClick(int viewId, OnClickListener onClickListener) { ImageView p_w_picpathView = getViewById(viewId); p_w_picpathView.setOnClickListener(onClickListener); return this; } } package com.base.adapter; import java.util.List; import android.content.Context; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; import com.base.baseandroid.CommonAdapter; import com.base.baseandroid.ViewHolder; import com.base.bean.CountryBean; import com.example.baseandroid.R; public class MyAdapter extends CommonAdapter { private Context context; public MyAdapter(Context context, List data, int layoutId) { super(context, data, layoutId); this.context = context; } @Override public void setValueForView(ViewHolder holder, final CountryBean bean) { holder.setText(R.id.tv_list_country, bean.getcCountryName()); holder.setImg(R.id.iv_list_country, bean.getFlagImage()); holder.setImgOnClick(R.id.iv_list_country, new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, bean.getcCountryName(), 1).show(); } }); } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:安卓封装Baseadapter-创新互联
文章URL:http://pwwzsj.com/article/hjidd.html