I have not tried this, but here is the documentation for ContextWrapper.setTheme (int) :
public void setTheme (int resid)
C: API Level 1 Define a base theme for this context. Please note that this should be called before any created in the context (for example, before calling setContentView (View) or inflating (int, ViewGroup)).
Based on this description, the action needs to be destroyed and recreated (as usual, when changing orientation or other configuration), then call setTheme () inside onCreate ().
source share