电脑(windows)
eclipse+android编程环境
新建一个android项目,名称为ListViewAuto,其余参数可以自己配置,点击完成,生成项目文件
完成列表要展示的选项实例类,ItemView,其中属性有//要展示的图片信息 private ImageView image; //标题信息 private TextView title; //按钮信息 private Button button;然后生成对应get,set方法
设置配置文件,main.xml声明ID以及长宽属性
设置ListView中各个选项的样式配置文件listview.xml,声明一个ImageView展示图片,TextView展示文本信息,Button展示按钮信息
实现自定义适配器,必须手动映射数据,这时就需要重写getView()方法,系统在绘制列表的每一行的时候将调用此方法。 ListView在开始绘制的时候,系统自动调用getCount()函数,根据函数返回值得到ListView的长度,然后根据这个长度,调用getView()逐一画出每一行。主要展示getView()方法实现 //展示记录信息 @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ItemView item=null; if(convertView==null){ item= new ItemView(); //获得组件,实例化组件 convertView=layoutInflater.inflate(R.layout.listview, null); item.setImage((ImageView)convertView.findViewById(R.id.imageView)); item.setTitle((TextView)convertView.findViewById(R.id.title)); item.setButton((Button)convertView.findViewById(R.id.button)); //这个步骤很重要!!! //可以使用setTag把查找的view缓存起来方便多次重用 convertView.setTag(item); }else{ item=(ItemView)convertView.getTag(); } //绑定数据 ,将传入data进行逐个赋值 item.getImage().setBackgroundResource((Integer)data.get(position).get('imageView')); item.getTitle().setText((String)data.get(position).get('title')); item.getButton().setText((String)data.get(position).get('button')); return convertView; }下面是自定义适配器ListViewAdapter的代码图例
主体函数编写,先是找到ListView控件,将数据放入适配器中,进行数据展示public class ListViewAutoShow extends Activity { /** Called when the activity is first created. */ private ListView listInfo=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listInfo=(ListView)findViewById(R.id.listInfo); List
运行程序,观察运行结果