在 ARouter 中,获取 activity 与 fragment 是同一个注解。为了简化逻辑,BRouter 中使用了两个注解,把 Fragment 当作与 Service ,Interceptor 一样的类型来处理,所以,处理逻辑与之前的是类似的。
com.aprz.brouter.fragments.BRouter$$Fragment$$card
public class BRouter$$Fragment$$card implements IModuleFragment {
@Override
public Map<String, Class<? extends Fragment>> fragments() {
Map<String, Class<? extends Fragment>> result = new HashMap<String, Class<? extends Fragment>>();
result.put("card/preview", PreviewFragment.class);
return result;
}
}
com.aprz.brouter.module.BRouter$$Module$$card#onCreate
@Override
public void onCreate(Application application) {
this.module.onCreate(application);
...
FragmentHelper.addModuleFragment("card");
}
com.aprz.home.fragment.FragmentRouteFragment#onCreateView
Fragment fragment = FragmentHelper.getFragment(CardRouteUrl.Fragment.PREVIEW);
fragment 中的字段暂时不支持自动绑定,因为 Bind 注解处理器还没有处理相应的逻辑。