I'm coding a custom Activity class (using it as a super class for m开发者_如何学编程y other Activity classes) where it's overriding many default functionalities. One of these functionalities I want is orientation handling, and while I can do it, it requires
android:configChanges="orientation"
in the manifest. Is there a way to enforce the same thing as the line above, but in java code?
You'll still need to include the attribute in the XML but you can handle it in Java too; see my blog post here: http://c0deattack.wordpress.com/2010/12/25/dealing-with-screen-orientation-changes-manually/
Edit: You cannot set the configChanges attribute programmatically. I guess it's to do with the way an Activity is created. They're created from the XML first and then the overridden methods in your activity implementation are invoked. There's nothing in the API that lets you change the configChanges attribute.
You can add all possible value in "android:configChanges",and override method onConfigurationChanged in Activity,but only call Activity.receate() for the case you need.
精彩评论