1、简单的ListView
布局中加入<ListView/>控件
mainActivity中准备好要展示的数据,然后需要用适配器将数据传递给Listview。适配器用ArrayAdapter。最后setAdpater(ArrayAapter adapter)就可以将数据显示在程序里。
2、定制ListView的界面
在布局中制定好需要的资源,
①新建类,自定义一个适配器extends ArrayAdapter<>,重写getView()方法(每个子项滚动到屏幕内都会被调用)。
getView()中,getItem(position)获取当前项的实例,然后用LayoutInflater加载传入的布局。
(LayoutInflater详细用法http://blog.csdn.net/guolin_blog/article/details/12921889)。获取主布局的对象,set一下,然后return view。
②mainActivity中,加入相应的语句,获取listView的对象,通过listView.setAdapter(相应的adapter)输出。
适配器adapter的使用:
adapter
Adapter adapter = new Adapter(当前上下文,布局id,传入的数据)
然后new ListView().setAdapter(adapter);即可
ListView优化:
①getView(int position,View convertView,ViewGroup parent)方法中有一个convertView参数,可以布局进行缓存。
View view;
if(convertView==null){view = LayoutInflater.from(getContext()).inflate(resourcrId,parent,false);}
else{view=convertView;}
②ViewHolder可对findViewById()进行优化。
view.setTag(viewHolder)可将viewHolder存储在view中,新增内部类ViewHolder,用于对当前控件的实例进行缓存。详见第一行代码p120.