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