2016-11-26 66 views
0

我在Android中遇到了一些問題。我正在創建一個應用程序,並希望將一個對象傳遞給我的片段。 我在尋找一種方式來定製對象傳遞給我的片段,類似:在參數中設置自定義數據類型

Fragment frag = new myFragment(); 
    Bundle args = new Bundle(); 
    args.put("Arg1", myObject); 

有沒有辦法做這樣的事情?

謝謝!

+0

的可能的複製之間傳遞對象[從活動通行證的ArrayList到ListFragment?] (http://stackoverflow.com/questions/10265352/pass-arraylist-from-activity-to-listfragment) –

+0

你必須使用bundle傳遞該值,添加值進行捆綁,然後使用frag.setArgument添加該捆綁包,接下來使用geArguments方法獲取該片段中的值,希望這會幫助你 – Bhavnik

+0

@Bhavnik我忘記了這個包,對此抱歉。我的問題是我不知道是否有方法將自定義對象作爲參數傳遞 – MDoe

回答

0

方式有3種對象傳遞給一個片段

它們是:

通過制定者傳遞的對象是最快的途徑,但狀態不會自動恢復。 使用Serializable對象的setArguments是最慢的方法(但對於小對象,我認爲可以),並且您有自動狀態恢復。 作爲Parcelable傳遞是一種快速方式(如果您有要傳遞的元素的集合,則優先選擇第二個),並且您有自動狀態恢復。例如, 。