找出添加了哪个活动片段

时间:2015-11-16 22:37:31

标签: android android-fragments android-activity android-fragmentactivity

所以基本上我在两个不同的活动中使用相同类型的片段,我想在片段中创建和初始化一些变量,只要它是从特定活动中添加的。我的问题是如何以编程方式找出片段的添加活动。

1 个答案:

答案 0 :(得分:3)

实现它的主要方法有两种:

模块化程度较低的方法,只需使用instanceof

进行检查即可
if(getActivity() instanceof MyActivity)

以及更模块化的方法,在您将其添加到事务中的那一刻,您将一些参数传递给片段:

// this during the transaction to pass extra parameters to the fragment
Fragment f = new MyFragment();
Bundle b = new Bundle();
b.putBoolean("doExtraCode", true);
f.setArguments(b);

然后在片段内:

// check if should execute extras
Bundle b = getArguments();
boolean doExtraCode = b == null? false: b.getBoolean("doExtraCode", false);