Я только что исправил это в своем приложении:)
Я попытаюсь объяснить своим легендарным английским языком.
BaseAdapter.notifyDataSetChanged()
вызывает Adapter.getView(...)
для всех отображаемых видов.Так что вы просто должны обработать это в своем методе Overridden (в моем случае я поставил бизнес-объект в поле зрения. Тег):
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// View is good to use
if (convertView != null && convertView.getTag() != null && convertView.getTag() == getItem(position)){
return convertView;
}else {
//Do your stuff
convertView.setTag(getItem(position))
return convertView;
}
}
Я надеюсь, что это поможет кому-то даже через 3 года:)