Я опишу вам, как получить такую проблему, которая у вас есть. Возможно, это поможет вам.
Итак, в списке адаптеров у вас есть такой код:
public View getView(int position, View contentView, ViewGroup arg2)
{
ViewHolder holder;
if (contentView == null) {
holder = new ViewHolder();
contentView = inflater.inflate(R.layout.my_magic_list,null);
holder.label = (TextView) contentView.findViewById(R.id.label);
contentView.setTag(holder);
} else {
holder = (ViewHolder) contentView.getTag();
}
holder.label.setText(getLabel());
return contentView;
}
Как видите, мы устанавливаем значение элемента списка только после того, как мы получили владельца.
Но если вы переместите код в приведенное выше выражение if:
holder.label.setText(getLabel());
так будет выглядеть как показано ниже:
if (contentView == null) {
holder = new ViewHolder();
contentView = inflater.inflate(R.layout.my_magic_list,null);
holder.label = (TextView) contentView.findViewById(R.id.label);
holder.label.setText(getLabel());
contentView.setTag(holder);
}
у вас будет текущее поведение приложения с дублированием элементов списка.
Возможно, это поможет.