在API 23之前,我使用Fragment的onAttach方法获取我的侦听器实例,然后在onDetach中清除引用。例如:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mListener = null;
try {
mListener = (SellFragmentListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement SellFragmentListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
在onAttach(Context context)方法内执行相同的检查是否安全?还有更好的方法来获取持有者Activity实例吗?
onResume()
/onPause()
上做这种事情,特别是如果监听器会对UI产生影响的话。 - Kevin Krumwiede