Hey guys,
I have implemented gridView with gridView adapter, extended from
baseAdapter.
And implemented method to change drawable id for gridView items:
public void changeDrawableForItem(int position, int drawable) {
getItem(position).setDrawableId(drawable);
notifyDataSetChanged();
}
For all changed Items I'm applying animation for 200ms.
And applying method "notifyDataSetChanged();" to updated all views in
gridView.
All works as it shoud, except for one thing.
When I'm changing gradually few items in a row, within short intervals less
then 200ms, I can see items blinking while they animating.
It's obvious that blinking is triggered by method "notifyDataSetChanged()"
applied few times in a row within short intervals.
I have tried to get gridView item view and apply methods "invalidate()",
"postInvalidate()", "requestLayout()" to update single view item in
gridView:
public void changeDrawableForItem(int position, int drawable) {
getItem(position).setDrawableId(drawable);
View itemView = gridView.getChildAt(position);
itemView.invalidate();
itemView.postInvalidate();
itemView.requestLayout();
}
But none of this methods makes this view to redraw.
Is there anyway to update single specific gridView item withoud updating
all gridView with method "notifyDataSetChanged();" ?
Condition - all gridView items is always in view port.
Thanks in advance for your help.
--
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/android-developers/6ba559a5-7637-4266-adda-a7878cb8a0af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.