0
- 我在Android中使用第三方地圖檢索的外部庫。
- 有一個我想通過Intent傳遞的類,所以我想讓它實現
Parcelable
。 - 但是這個類來自外部庫。
在這種情況下最佳做法是什麼?將Parcelable接口添加到來自外部庫的類中
我所做的是:
- 創建擴展這個類的自定義類(讓我把它叫做
A
)並實現Parcelable - 但是,當我從圖書館的網絡請求所有這些
A
類實例,我發現我不能將它轉換到我的自定義類對象,因爲它是從父類轉換爲子類。 - 因此,我添加了一個靜態方法,可以將
A
類中的成員變量複製到新實例化的自定義對象的成員變量中,該變量將外部庫類A
字面轉換爲我的自定義類。 - 它確實有效,但它看起來像一種代碼味道。我該如何改進?或者它不是一種代碼味道?
(但是當我從庫的網絡請求中獲得所有這些A類實例時,我發現我無法將它轉換爲自定義類對象,因爲它是從父類轉換爲子類),您可以向下投射在Java中,你有沒有試過。 –
@ user7790438肯定,但是當你,我們說'A a = new A(); B b =(B)a;'(當b是A的子類時),向下投射不起作用。它只適用於'A a = new B(); B b =(B)a;'。而且我無法控制'A'類的實例化階段。在網絡請求作爲回調之後,圖書館以「ArrayList '的形式給了我。 – viz
然後你不會選擇比你做的選擇。 –