博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android ListView展示不同的布局
阅读量:6419 次
发布时间:2019-06-23

本文共 2321 字,大约阅读时间需要 7 分钟。

由于item中converView的复用,所以ListView在展示不同布局的时候,需要在adapter里复写以下方法:getViewTypeCount()和getItemViewType(int position)。有了这个思路就很简单了。adapter代码如下:

package com.example.dyk.listviewtest;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.List;/** * Created by Administrator on 2016/2/27. */public class Adapter extends BaseAdapter {
private List
list; private Context mContext; private LayoutInflater mInflater; private ViewHolder holder; public Adapter(List
list, Context mContext) { this.list = list; this.mContext = mContext; mInflater = LayoutInflater.from(mContext); } public void notifyDataSetChanged(List
list) { this.list = list; super.notifyDataSetChanged(); } @Override public int getCount() { return list == null ? 0 : list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { if (position == 0) { return 0; } else { return 1; } } @Override public View getView(int position, View convertView, ViewGroup parent) { if (getItemViewType(position) == 0) { convertView = mInflater.inflate(R.layout.item, null); } else { if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.items, null); holder.name = (TextView) convertView.findViewById(R.id.name); holder.age = (TextView) convertView.findViewById(R.id.age); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } Bean bean = list.get(position); holder.name.setText(bean.getName()); holder.age.setText(bean.getAge()); } return convertView; } public class ViewHolder {
TextView name; TextView age; }}

转载地址:http://zxmra.baihongyu.com/

你可能感兴趣的文章
讨论:今日头条适配方案使用中出现的问题
查看>>
CSS3 3D翻转动画
查看>>
要命啦!Word中快速录入大全,内含快捷键小技巧,快来一起学习!
查看>>
javascript实现音频mp3播放
查看>>
html5-离线缓存
查看>>
linux系统安装完后的常见工作
查看>>
在Linux服务器、客户端中构建密钥对验证进行远程连接
查看>>
揪出MySQL磁盘消耗迅猛的真凶
查看>>
和“C”的再遇
查看>>
一键安装kubernetes 1.13.0 集群
查看>>
RabbitMq的集群搭建
查看>>
spring boot + mybatis 同时访问多数据源
查看>>
URL中汉字转码
查看>>
[转]go正则实例
查看>>
Selector中关于顺序的注意事项
查看>>
小黑小波比.清空<div>标签内容
查看>>
Java中的ExceptionInInitializerError异常及解决方法
查看>>
Spring 注入bean时的初始化和销毁操作
查看>>
java线程同步原理(lock,synchronized)
查看>>
MyEclipse中使用Hql编辑器找不到Hibernate.cfg.xml文件解决方法
查看>>