當遇到Activity被回收(橫豎屏、內存不足)時,Activity會重建,而去調用onCreate()方法,在onCreate()方法中調用了設置首項透明度的方法。這樣就會出現,選中的View和內容Fragment的不對應的。
~~~
//Bundle的鍵,作用:自定義的VIew繼承的有可能不是View,有可能是TextView、ImageView,
//重寫下面兩個方法,以便記住原本的Bundle(不能抹掉原來的XXView的恢復和銷毀的過程)
private static final String INSTANCE_STATUS="instance_status";
private static final String STATUS_ALPHA="status_alpha"; //Bundle的鍵
//當Activity重建的時候,恢復Alpha值
@Override
protected Parcelable onSaveInstanceState() {
Bundle bundle=new Bundle();
bundle.putParcelable(INSTANCE_STATUS, super.onSaveInstanceState()); //把父級存儲的變量放到INSTANCE_STATUS中
bundle.putFloat(STATUS_ALPHA, mAlpha); //存儲自己需要保存的東西
return bundle;
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
if(state instanceof Bundle){
Bundle bundle=(Bundle) state;
mAlpha=bundle.getFloat(STATUS_ALPHA); //取出自己保存的東西
super.onRestoreInstanceState(bundle.getParcelable(INSTANCE_STATUS)); //取出系統保存的東西,并調用系統的恢復
return;
}
super.onRestoreInstanceState(state);
}
~~~
- 前言
- Java內部類
- 從一個View向一個Activity跳轉
- Android 與 SQLite
- Android工程A依賴B,B依賴C
- Android重要控件概覽(上)
- Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- Android布局概覽
- 動態引用APK文件
- Android重要控件概覽(中)
- Android重要控件概覽(下)
- Gallery和ImageSwitcher
- Android之Toast
- Android之Dialog
- Android之Notification
- Android之Menu
- Android Menu中android:showAsAction屬性
- Android SharedPreferences存儲數據的使用方法
- Android手勢識別之GestureDetector
- 不同APP通過SharedPreferences傳遞數據(共享數據)
- 一個自定義的Topbar模板
- 關于Activity回收造成View選中不對應的問題
- Android之Fragment靜態加載