我正在根据http://bartinger.at/listview-with-sectionsseparators/中描述的技术来构建具有部分的ListView。但我想通过对非节项目重新使用convertView来扩展它。但是,我发现每次输入getView()方法时convertView变量都为null。有人可以解释为什么会这样吗?
ViewHolder holder;
final ListViewItem item = items.get(position);
if (item.isSection()) {
Section section = (Section)item;
convertView = inflater.inflate(R.layout.section, null);
TextView title = (TextView) convertView.findViewById(R.id.section_title);
title.setText(section.title);
} else {
if (convertView == null) {
Log.d("Adapter", "convertView was null");
}
Server server = (Server)item;
convertView = inflater.inflate(R.layout.server_row, null);
holder = new ViewHolder();
holder.serverName = (TextView) convertView.findViewById(R.id.server_name);
holder.serverStatusIcon = (ImageView)convertView.findViewById(R.id.server_status_icon);
convertView.setTag(holder);
holder.serverName.setText(server.name);
}
return convertView;
正在创建和显示该列表而没有错误,并且同时包含节和非节项目。
您执行正确吗?>
getItemViewType (int position) ?
感谢Ixx慢跑了我:我没注意到的是我的清单太短了,它实际上并没有填满整个屏幕,所以没有回收利用。
我刚刚使用自己创建的GridView进行了此操作。当我尝试为convertView分配一个新的膨胀视图时,我遇到了问题。我采用的通用结构是