ListView形成的每一步是在Adapter中进行的,我们要是不用的行的字体颜色不一样或者背景不一样,我们只要在adpter的getItemView中修改我们的代码就行了。
以前通常的做法是:
- 看convertView是不是为null,如果为null,我们将新建一个view,为其制定布局文件;如果不为null,我们将convertView.getTag()赋给该view.
- 设定该view的内容。
ChildItemView childItemView = null;
if (convertView == null) {
LayoutInflater mInflater_ = LayoutInflater.from(mContext);
//set the place for the child item view
convertView = mInflater_.inflate(R.layout.expandablechildrenlayout, null);
childItemView = new ChildItemView();
convertView.findViewById(R.id.expandable_children_text);
childItemView.childtitle = (TextView) convertView.findViewById(R.id.expandable_child_title);
convertView.setTag(childItemView);
} else {
//get the child item
childItemView = (ChildItemView) convertView.getTag();
}
现在我们的做法是不管convertView是不是为null,我们根据自己的需要为其设置布局文件,然后设定该view的内容。
if(itemChild.mRead.equals("0")){
LayoutInflater mInflater_ = LayoutInflater.from(mContext);
//set the place for the child item view
convertView = mInflater_.inflate(R.layout.expandablechildrenlayout, null);
childItemView = new ChildItemView();
childItemView.childtitle = (TextView) convertView.findViewById(R.id.expandable_child_title);
}else{
LayoutInflater mInflater_ = LayoutInflater.from(mContext);
//set the place for the child item view
convertView = mInflater_.inflate(R.layout.expandablechildrenlayoutbold, null);
childItemView = new ChildItemView();
childItemView.childtitle = (TextView) convertView.findViewById(R.id.expandable_child_title);
}
最后设定值:
childItemView.childtitle.setText(inforText.toString());