Fragment
有一个名为getActivity()
的方法,它返回与当前片段关联的活动。
不使用此方法是否安全,而是在Activity
方法中保存onAttach(Activity)
个实例?
例如,改为:
public class MyFragment extends Fragment {
public void foo() {
((MainActivity) getActivity()).foo();
}
}
为:
public class MyFragment extends Fragment {
private MainActivity activity;
public void onAttach(Activity activity) {
this.activity = (MainActivity) activity;
}
public void foo() {
this.activity.foo();
}
}
这两种方法之间有什么不同吗?哪个更好?
PS。第二种方法的一个好处是,每次使用活动时都不必进行类型转换(如(MainActivity) getActivity()
)。但我不知道保存活动实例是否安全。
答案 0 :(得分:1)