Is there any difference between ListView.invalidateViews() and Adapter.notifyDataSetChanged()?
Is there any difference between ListView.invalidateViews() and Adapter.notifyDataSetChanged() ?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Well yes, there is.
ListView.invalidateViews()is used to tell the ListView to invalidate all its child item views (redraw them).Note that there not need to be an equal number of views than items. That’s because a ListView recycles its item views and moves them around the screen in a smart way while you scroll.
Adapter.notifyDataSetChanged()on the other hand, is to tell the observer of the adapter that the contents of what is being adapted have changed. Notifying the dataset changed will cause the listview to invoke your adapters methods again to adjust scrollbars, regenerate item views, etc…Most of the time you would want to use
notifyDataSetChangedinstead ofinvalidateViews, but it certainly depends on what you are trying to accomplish.