解決Android橫豎屏切換數(shù)據(jù)丟失問題的方法
Android橫豎屏切換時,當(dāng)前的Activity會被銷毀,然后Activity上面的數(shù)據(jù)將會全部丟失。
如Listview上面每個item的checkbox,橫豎屏切換時,復(fù)選框就丟失所有選中信息。
解決方案1:在Androidmanifest.xml的activity標(biāo)簽中加入android:configChanges="orientation|keyboardHidden"
<activity android:configChanges="orientation|keyboardHidden" android:label="sqltest" android:name=".SqlData" </activity>
解決方案2:強制限制activity在橫屏狀態(tài)或者豎屏狀態(tài),不讓activity進(jìn)行橫豎屏切換
landscape表示橫屏
portrait表示豎屏
<activity android:label="sqltest" android:name=".SqlData" android:screenOrientation="landscape" > </activity>
解決方案3:在Activity里面通過復(fù)寫onConfigurationChanged方法,實現(xiàn)在不同的屏幕狀態(tài)下的處理方式。
@Override public void onConfigurationChanged(Configuration newConfig) { // TODO Auto-generated method stub super.onConfigurationChanged(newConfig); /* * 橫豎屏檢測 */ if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // 當(dāng)前為橫屏 //實現(xiàn)代碼 } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 當(dāng)前為豎屏 //實現(xiàn)代碼 } /* * 實體鍵盤狀態(tài)檢測 */ if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { // 實體鍵盤處于推出狀態(tài) //實現(xiàn)代碼 } else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) { // 實體鍵盤處于合上狀態(tài) //實現(xiàn)代碼 } }
author:conowen@大鐘
原文地址: http://blog.csdn.net/conowen
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)Android軟件編程有所幫助。
相關(guān)文章
分析Android App中內(nèi)置換膚功能的實現(xiàn)方式
這篇文章主要介紹了Android App中內(nèi)置換膚功能的實現(xiàn)方式,文中舉了一個類似QQ空間中換膚方式的例子作為說明,需要的朋友可以參考下2016-02-02Android中TextView和ImageView實現(xiàn)傾斜效果
這篇文章主要為大家詳細(xì)介紹了Android中TextView和ImageView實現(xiàn)傾斜效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08