您的位置:首页 > 其它

从fragment开始向上查找实现了某个接口的parent Fragment 或者 Activity

2017-07-24 10:25 363 查看
//从fragment开始向上查找实现了接口listenerClass的fragment或activity
public <T> T findInterfaceByClass(Fragment fragment, Class<T> listenerClass) {
if (listenerClass != null) {
if (fragment != null) {
if (listenerClass.isInstance(fragment)) {
return (T) fragment;
} else {
return findInterfaceByClass(fragment.getParentFragment(), listenerClass);
}
} else {
if (listenerClass.isInstance(getActivity())) {
return (T) getActivity();
} else {
return null;
}
}
}
return null;
}


此方法主要用于有包含关系(child Fragment 与 parent Fragment / Activity 关系)的fragment 与其 parent Fragment /Activity之间通信,如数据传递,避免了声明接口实例、声明设置该接口实例方法,使用较为方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: