Activity中:
private void setData()
{
list = new ArrayList<String>();
listTag = new ArrayList<String>();
listTag.add("A");
list.add("A");
for (int i = 0; i < 5; i++)
{
list.add("111111111"+i);
}
listTag.add("B");
list.add("B");
for (int i = 0; i < 5; i++)
{
list.add("22222222"+i);
}
}
适配器:
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder = new ViewHolder();
if (null == convertView)
{
if (listTag.contains(getItem(position)))
{
convertView = mInflater.inflate(R.layout.list_item_tag, null);
holder.textView = (TextView)convertView.findViewById(R.id.tag_text);
holder.textView.setText(listTag.get(position));
}else
{
convertView = mInflater.inflate(R.layout.list_item, null);
holder.textView = (TextView)convertView.findViewById(R.id.content_text);
holder.textView.setText(list.get(position));
}
convertView.setTag(holder);
}else
{
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
@Override
public boolean isEnabled(int position)
{
// TODO Auto-generated method stub
return !listTag.contains(getItem(position));
}
class ViewHolder
{
private TextView textView;
}