setTheme() should be called in onCreate(). Otherwise it will make no effect:
http://developer.android.com/reference/android/view/ContextThemeWrapper.html#setTheme(int)