您现在的位置是:主页 > news > 河北网站设计制作/小广告怎么能弄干净

河北网站设计制作/小广告怎么能弄干净

admin2025/5/7 14:35:36news

简介河北网站设计制作,小广告怎么能弄干净,丰顺最新新闻今天,wordpress未登录用户重定向连接器android频繁使用,像ListView。GridView,下拉框。。。它们相对频繁使用, 这个博客描述了一个通用适配器。尽管相对简单的。但相对较大的有用。(没有人去创造与适配器) 这个列子创建了一个虚拟的类,在使…

河北网站设计制作,小广告怎么能弄干净,丰顺最新新闻今天,wordpress未登录用户重定向连接器android频繁使用,像ListView。GridView,下拉框。。。它们相对频繁使用, 这个博客描述了一个通用适配器。尽管相对简单的。但相对较大的有用。(没有人去创造与适配器) 这个列子创建了一个虚拟的类,在使…

连接器android频繁使用,像ListView。GridView,下拉框。。。它们相对频繁使用,

这个博客描述了一个通用适配器。尽管相对简单的。但相对较大的有用。(没有人去创造与适配器)

这个列子创建了一个虚拟的类,在使用时需要被继承,对应的方法。

public abstract class SimpleBaseAdapter<T> extends BaseAdapter{//调用类传入的ContextContext context//须要的数据,使用泛型;List<T> data;//构造方法。传入context和数据public SimpleBaseAdapter(Context context, List<T>data){this.context = context;this.data = data == null ? new ArrayList<T>() : data;}@Overridepublic int getCount() {return data.size();}@Overridepublic Object getItem(int position) {if(position >= data.size()){return null;}return data.get(position);}@Overridepublic long getItemId(int position) {return position;}//继承类所须要实现的方法,获取列表项的布局idpublic abstract int getItemRsouce();//继承类所须要实现的方法。获取列表项的viewpublic abstract View getItemView(int position,View convertView,ViewHolder holder);//适配器中最重要的方法,之所以返回view调用getItemView()这种方法//是由于返回的view中的子view须要依据实现类中view的id确认@SuppressWarnings("unchecked")@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if(convertView == null) {convertView = View.inflate(context, getItemRsouce(), null);holder = new ViewHolder(convertView);convertView.setTag(holder);}else{holder = (ViewHolder) convertView.getTag();}return getItemView(position, convertView, holder);}//一种新的ViewHolder的写法,之所以这么写。是为了方便//实现类获取ConvertView中的子view 。HolderView的缓存机制//使用SparseArray进行缓存public class ViewHolder{private SparseArray<View> views = new SparseArray<View>();private View convertView;public ViewHolder(View convertView) {this.convertView = convertView;}@SuppressWarnings("unchecked")public <T extends View> T getView(int resId) {View v = views.get(resId);if(v == null) {v = convertView.findViewById(resId);views.put(resId, v);}return (T) v;}}
}
SimpleBaseAdapter事实上就是对适配器的一种抽象,而且这个抽象类的不同表现用抽象方法

实现。由于实现类必需要实现抽象方法(也能够说实现类是依据抽象方法表现出不同的属性)

SimpleBaseAdapter的实现类:

public class myAdapter extends SimpleBaseAdapter<String> {public myAdapter(Context context,List<String> data){super(context, data);}@Overridepublic int getItemRsouce() {return R.layout.list_item;  //返回次实现类的列表item的xml文件id}//依据id获取view(每一个实现类的id都不一样)@Overridepublic View getItemView(final int position, View convertView, ViewHolder holder) {TextView tv = holder.getView(R.id.title);tv.setText((String) getItem(position));Button btn = holder.getView(R.id.btn);btn.setText("选择");btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(myAdapter.this.context, "" + position, Toast.LENGTH_SHORT).show();}});return convertView;}
}


版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/hrhguanli/p/4869085.html