У меня есть listview с 2 видами, один для первой строки, а другой для остальных.android listview несколько просмотров
Вот мой код в GetView:
ViewHolder holder = null;
// if (convertView == null)
// {
holder = new ViewHolder();
if(position==0 && category.equalsIgnoreCase("normal"))
{
convertView = mInflater.inflate(R.layout.item_featured_list_row, null);
}
else
{
convertView = mInflater.inflate(R.layout.item_list_row, null);
}
holder.imgItem = (ImageView) convertView.findViewById(R.id.itemImage);
//holder.imgArrow = (ImageView) convertView.findViewById(R.id.arrowImage);
holder.txtItem = (TextView) convertView.findViewById(R.id.itemText);
holder.itemValueLabel = (TextView) convertView.findViewById(R.id.itemValueLabel);
holder.itemPrice = (TextView) convertView.findViewById(R.id.itemPrice);
convertView.setTag(holder);
// }
// else
// holder = (ViewHolder) convertView.getTag();
Дело в том, что будет работать только так, если я оставлю его раскомментирована, но я чувствую, что есть хороший повод, чтобы проверить, если convertView является недействительным и не раздувать что-то уже раздутое. Но если я раскомментирую его, он работает только при первом загрузке. Как только я обновляю список, обновляя массив и вызывая notifydatasetchanged, первые элементы строки заканчиваются несколько раз в случайных местах в моем списке.