I'm not sure it's relevant - but do you need to implement View.verifyDrawable? The docs aren't very clear as to when you need to do that.
startActivity will trigger an animation by default - which is probably what is forcing the view to refresh correctly. Another possible hack around this would be to trigger an empty animation of some sort.