notifyDatasetChanged() is used to force ListView to invoke Adapter.getView() again, which may be expensive, depending on what you do in it. ListView does have many optimizations to make notifyDatasetChanged() calls as efficient as possible though.
If you are doing *very* frequent updates (several times per second for instance, with let's say a progress bar or some sort of animation) you should indeed modify the Views directly. Adaptor should have a > notifyDatasetChangedAtIndexes(int[] indexes) at the very least, rather > than force the developer to update the cells manually. It doesn't really matter, it wouldn't be more efficient to update cells that are already on screen. It would only matter when you update cells that are not displayed. That said you can easily just not invoke notifyDatasetChanged() if you are updating cells that are not between getFirstVisiblePosition() and getFirstVisiblePositon() + getChildCount(). -- Romain Guy Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

