应使用哪个包来传递对象

时间:2014-11-24 21:19:38

标签: android bundle start-activity

我想将一个对象从一个活动传递给一个片段。我知道如何传递数据,但不知道我应该使用哪种类型的bundle

更新

换句话说,我有一个mqttAndroidClient类型的对象,我希望通过bundle将我的活动传递给片段。我应该使用哪种捆绑类型?

2 个答案:

答案 0 :(得分:0)

你应该使用这样的东西:

制作包含所需数据的自定义类,并extendSerializable Parcelable并将您的对象作为额外内容添加到Bundle对象并设置{ {1}}作为Bundle的参数。

Fragment

Activity

... Fragment fragment = new YourFragment(); Bundle bundle = new Bundle(); bundle.putString("data", "yourData"); fragment.setArguments(bundle); ...

Fragment

答案 1 :(得分:0)

对于相对简单的对象数据类型,您根本不需要捆绑。当您在使用该参数的片段中覆盖onCreate()时,只需添加一行代码即可从意图中获取数据。

例如,如果您传递一个整数,那么该行将是:

intvar = (int)getActivity().getIntent().getInt(SOME_IDENTIFIER); 

其中SOME_IDENTIFIER是活动和片段共有的常量。 (它看起来像" com.yourpackage.yourapp.some_identifier。"