今天抽空做个笔记,感觉这个有点点难。
listView是个很不错的控件,可以显示好多列表内容,列表里每条内容又可以装载各种图片、文字、按钮等资源。效果展示:(图片时随便从网上巴拉的。。。)
代码实现:
首先我们在某个activity的布局文件里面放一个ListView控件,其次,新建一个layout.xm布局文件(本例中我们在这个文件里只添加两个TextView),供加载每条item使用。
在activity里面写个内部类(MyAdapter)继承BaseAdapter类,并且复写自带的方法。其中最重要的是:
@Override
public int getCount() {
return myCount;//myCount就是你需要设置listView的条目数,可以是你的成员变量,也可以是其他表达式
}
// 此方法主要用来设置每个对应item所要显示的内容
@Override
public View getView(int position, View convertView, ViewGroup parent) {
HelpHolder holder = null;
if (convertView == null) { //convertView就是这个方法需要返回的视图值
holder = new HelpHolder(); //当convertView 为空时先实例化一个HelpHolder 帮助类对象
convertView = mInflater.inflate(R.layout.line_test, null);// 根据自定义的Item布局加载布局,mInflater为全局变量,可以在本类构造方法里用mInflater = LayoutInflater.from(context);来实例化
holder.mTitle = (TextView) convertView.findViewById(R.id.title);//获得本item里面的第一个TextView
holder.mDialogue = (TextView) convertView
.findViewById(R.id.dialogue);//获得本item里面的第二个TextView
convertView.setTag(holder);// 将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag
} else {
holder = (HelpHolder) convertView.getTag();// 将将缓存取出来用
}
holder.mTitle.setText(“test1”);//设置控件信息
holder.mDialogue.setText(“test2”);//设置控件信息
return convertView;//返回item视图
}
}
// 辅助型内部类
class HelpHolder {
public TextView mTitle; // 声明标题文本框
public TextView mDialogue;// 声明内容文本框
}
至此,这个ListView就可以正常显示啦。