Dol*_*rma 0 java android parcel parcelable
在我的应用程序中我onSaveInstanceState在每个活动和文件中很多,现在在阅读此链接后创建Parcelable类我不能使用它并保存到这个类中
默认onSaveInstanceState是:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("IsShowingExitDialogs", mIsShowingExitDialogs);
savedInstanceState.getInt("LastMenuItemSelected", mLastMenuItemSelected);
}
Run Code Online (Sandbox Code Playgroud)
现在我不能使用下面这行保存IsShowingExitDialogs或LastMenuItemSelectedParcable类:
savedInstanceState.putParcelable("IsShowingExitDialogs", mIsShowingExitDialogs);
savedInstanceState.putParcelable("IsShowingExitDialogs", mLastMenuItemSelected);
Run Code Online (Sandbox Code Playgroud)
Parcelable是一个应用于类的接口.它适用于对象,而在您的情况下,您尝试保存整数和布尔值,两者都是基本类型.如果你真的想这样做,你需要将它们包装在一个实现的类中Parcelable.然后这将工作.
编辑:
1.将savedInstanceState你保存在onSavedInstanceState()返回中onCreate()的时候Activity重新创建,让您重新使用以前保存的数据.
2.您需要创建一个自定义类MyClass extends Parcelable,实现接口方法并将其保存为:
MyClass myClass = new MyClass(mIsShowingExitDialogs, mLastMenuItemSelected);
savedInstanceState.putParcelable("myClass", myClass);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |