 <p>There is a simple way of doing this. </p> <ul> <li><p>if you have two different layouts for landscape and portrait then let the android handle all the stuff for you. i mean do not override methods onConfigurationChange() method unless strictly required and do not add android:configChanges="orientation". just make different folders for portrait mode and landscape mode. viz. layout and layout-land.... </p></li> <li><p>To save present state of views use bundle. whenever orientation changes android reload activity and call onCreate() method. This saved bundle is passed in onCreate() method. Now you can retrieve views' state from this bundle.</p></li> </ul> <p>now next question will be how to use this bundle. <a href="http://stackoverflow.com/questions/151777/how-do-i-save-an-android-applications-state">Then here is the quick example.</a> </p> <p>override onSavedInstanceState() method to save bundle. </p> <p>Thanks.</p>