我有一個SparseArray
的Double
,我必須將它寫入包裹。寫一個SparseArray的雙重包裹
這裏是我的代碼:
@Override
public void writeToParcel(Parcel dest, int flags) {
SparseArray<Double> spa = new SparseArray<>();
spa.put(1, 0.8d);
spa.put(5, 6.4d);
spa.put(89, 0.8d);
dest.writeSparseArray(spa);
}
這不會編譯,與此錯誤:
writeSparseArray(android.util.SparseArray < java.lang.Object繼承 >)在 包裹不能應用於 (android.util.SparseArray <java.lang.Double>)
Android Studio中的javadoc writeSparseArray()
告訴我,它使用Parcel
的writeValue()
,並the doc在這個方法說,它應該工作:
給定
Object
價值目前可能是以下類型之一: ...Double
...
現在,我要複製我SparseArray
到HashMap
使用putSerializable()
,我知道這幾乎是對神智的侮辱。
如何有效地將我的Double SparseArray複製到包裹中?
非常感謝,它的工作。我想知道爲什麼簽名是'SparseArray