2014-02-19 59 views
1

我有這樣的代碼怎麼投的意圖的額外的對象[]以MyClas []

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.offers_list); 

    Intent callingIntent = getIntent(); 
    if (callingIntent != null) { 
     Bundle extras = callingIntent.getExtras(); 
     if (extras != null) { 
      Offer[] offers = (Offer[]) extras 
        .getSerializable(PublicMacros.OFFERS_LIST); 
     } 
    } 

和我得到這個錯誤執行

02-19 01:59:52.291: E/AndroidRuntime(26440): Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to com.zoomer.offers.Offer[]

後,我怎樣才能正確地投?

+0

檢查[此答案](http://stackoverflow.com/a/1115234/951894)。 – Tautvydas

回答

0

無法將object[]轉換爲T[],其中T是abitrary類別。

但是你可以使用

Offer[] array = Arrays.copyOf(a, a.length, Offer[].class); 

其中a爲

extras.getSerializable(PublicMacros.OFFERS_LIST); 

返回數組或者你可以遍歷數組中的每個元素和投每一個爲自己。

+0

將Offer []從一個活動發送到另一個活動的最佳做法是什麼? –

+0

你的活動意味着什麼? – ROT13

+0

android的活動。我想將數據從一個活動發送到另一個活動 –