2016-11-26 76 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传递是一种快速方式(如果您有要传递的元素的集合,则优先选择第二个),并且您有自动状态恢复。例如, 。