Adapter的继承
来源:互联网 发布:淘宝小泡沫的店假货 编辑:程序博客网 时间:2024/05/16 09:04
1.继承BaseAdapter类
(1).通过自定义的BaseAdapter展示ListView;
(2).动态修改、刷新ListView内容;
(3).在自定义的BaseAdapter中实现ListView内容的点击和长按点击事件;
(4).在BaseAdapter的getView方法中动态增加新组件;
public class MyListAdapter extends BaseAdapter { private List<News> list; private Context context; private final int TYPE1=0; private final int TYPE2=1; public MyListAdapter(List<News> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return 0; } @Override public int getItemViewType(int position) { News news=list.get(position); if(news.getImg1()==0){ return TYPE1; }else{ return TYPE2; } } @Override public int getViewTypeCount() { return 2; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; int type=getItemViewType(position); if(convertView==null){ vh=new ViewHolder(); if(type==0){ convertView= LayoutInflater.from(context).inflate(R.layout.topnews1_layout,null); vh.title=(TextView)convertView.findViewById(R.id.title); vh.from= (TextView)convertView.findViewById(R.id.from); vh.img=(ImageView)convertView.findViewById(R.id.img); convertView.setTag(vh); }else{ convertView= LayoutInflater.from(context).inflate(R.layout.topnews2_layout,null); vh.title=(TextView)convertView.findViewById(R.id.title); vh.from= (TextView)convertView.findViewById(R.id.from); vh.img=(ImageView)convertView.findViewById(R.id.img); vh.img1=(ImageView)convertView.findViewById(R.id.img1); convertView.setTag(vh); } }else{ vh= (ViewHolder) convertView.getTag(); } News news=list.get(position); if(type==0){ vh.title.setText(news.getTitle()); vh.from.setText(news.getFrom()); vh.img.setImageResource(news.getImg()); }else{ vh.title.setText(news.getTitle()); vh.from.setText(news.getFrom()); vh.img.setImageResource(news.getImg()); vh.img1.setImageResource(news.getImg1()); } return convertView; } private class ViewHolder{ TextView title; TextView from; ImageView img; ImageView img1; }}最基本的需要继承四个方法,如果,有多个样式的话,需定义final TYPE类,然后加上getViewTypeCount()和getItemVireType()两个方法即可
记住别忘记定义ViewHolder类,来定义样式表的内容
2.继承PagerAdapter
实现内容无限循环的滑动
public class MyViewPagerAdapter extends PagerAdapter { private List<ImageView> list; public MyViewPagerAdapter(List<ImageView> list) { this.list = list; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); }}必须继承这四种方法,后面的inistantiateItem()和destroyItem()方法需要自己手写继承
0 0
- Adapter的继承关系
- Adapter的继承结构
- Adapter的继承结构
- Adapter的继承结构
- Adapter的继承结构
- Adapter的继承结构
- Adapter的继承结构
- Adapter的继承
- Android开发之:Adapter的继承结构
- Android开发之:Adapter的继承结构
- Android开发之:Adapter的继承结构
- android adapter继承结构
- Adapter 继承关系图
- 继承SimpleCursorAdapter定制Adapter
- 继承BaseAdapter实现Filterable的adapter类完整示例
- 继承RecyclerView.Adapter使用泛型遇到的问题
- 继承BaseAdapter实现Filterable的adapter类完整示例
- 继承BaseAdapter实现自定义Adapter
- oracle--非预定义异常
- 呆萌指数
- ASP.NET获取真正的客户端IP地址的6种方法
- 有图像恢复的相关执行软件
- 欢迎使用CSDN-markdown编辑器
- Adapter的继承
- 解决:ntpdate[27350]: no server suitable for synchronization found
- Docker 镜像、容器、仓库的概念及基本操作
- ugui Sprite更换图片
- Maven打包后,中文乱码
- ubuntu 将python从默认的2.7升级到3.*
- Spring拦截器中通过request获取到该请求对应Controller中的method对象
- 图像纹理——灰度共生矩阵
- 如何判断包含某个Activity Action的Android应用程序是否安装?