我有一个SparseArray<myObject>
并且想将它存储onSaveInstanceState
在我的活动中的 bundle in 方法中并将其恢复为oncreate
. 我找到putSparseParcelableArray
了将 SparseArray 放入捆绑包中的方法,并在onSaveInstanceState
方法中执行了此操作:
bundle.putSparseParcelableArray("mySparseArray", mySparseArray);
但是 eclips 显示了这个错误:
The method putSparseParcelableArray(String, SparseArray<? extends Parcelable>) in the type Bundle is not applicable for the arguments (String, SparseArray<myObject>)
快速解决方法是将参数mySparsArray
转换为SparseArray<? extends Parcelable>
,但如果我这样做并在 onCreate 方法中获取它:
mySparseArray = (SparseArray<myObject>) savedInstanceState.getSparseParcelableArray("mySparseArray");
它得到这个错误:
Cannot cast from SparseArray<Parcelable> to SparseArray<myObject>
如果这种方式是错误的,将 mySparseArray 放入 bundle 的解决方案是什么?任何帮助将非常感激。