AndroidAnnotations 不适用于继承 class
AndroidAnnotations not working with inherited class
我有一个扩展父片段 (NavMenu) 的片段 (NavMenuStats)。
这个父片段覆盖了 onCreateView 方法,像这样:
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (some condition) {
View view = ...
// Do stuff and return view. Everything works well
return view;
} else {
return null; // since @Nullable
}
}
但是当我在继承此片段的 class 上使用 AndroidAnnotations 时,"some condition" 为假,它不会 return 视图。一切都是空白,@AfterViews 甚至都没有被调用。
我也试过,而不是 returning null,到:
...
} else {
return super.onCreateView(inflater, container, savedInstanceState);
}
我知道我必须让 AndroidAnnotations 来处理布局 inflation,如下所述:
androidannotations @AfterViews is not calling and editText is null
这就是为什么我在父片段的 onCreateView() 中 returning null 或 super 方法。
我错过了什么?有什么想法吗?
非常感谢。
没有你的 NavMenuStats 代码很难回答,但我认为你的问题就在那里。
我认为您也已将 onCreateView
方法添加到您的 NavMenuStats 中,因此您阻止了 AndroidAnnotations 为您编写它。
尝试通过您的 @EFragment
注释 class.
完全删除 onCreateView
方法
在这种情况下有效:
主要片段
public class MainFragment extends Fragment{
public boolean nullView = false;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
return nullView ? null : inflater.inflate(R.layout.fragment_main, container, false);
}
}
儿子片段
@EFragment(R.layout.fragment_son)
public class SonFragment extends MainFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.nullView = true;
}
}
你可能忘了在最后添加带_的生成子片段?
我有一个扩展父片段 (NavMenu) 的片段 (NavMenuStats)。
这个父片段覆盖了 onCreateView 方法,像这样:
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (some condition) {
View view = ...
// Do stuff and return view. Everything works well
return view;
} else {
return null; // since @Nullable
}
}
但是当我在继承此片段的 class 上使用 AndroidAnnotations 时,"some condition" 为假,它不会 return 视图。一切都是空白,@AfterViews 甚至都没有被调用。
我也试过,而不是 returning null,到:
...
} else {
return super.onCreateView(inflater, container, savedInstanceState);
}
我知道我必须让 AndroidAnnotations 来处理布局 inflation,如下所述: androidannotations @AfterViews is not calling and editText is null
这就是为什么我在父片段的 onCreateView() 中 returning null 或 super 方法。
我错过了什么?有什么想法吗?
非常感谢。
没有你的 NavMenuStats 代码很难回答,但我认为你的问题就在那里。
我认为您也已将 onCreateView
方法添加到您的 NavMenuStats 中,因此您阻止了 AndroidAnnotations 为您编写它。
尝试通过您的 @EFragment
注释 class.
onCreateView
方法
在这种情况下有效:
主要片段
public class MainFragment extends Fragment{
public boolean nullView = false;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
return nullView ? null : inflater.inflate(R.layout.fragment_main, container, false);
}
}
儿子片段
@EFragment(R.layout.fragment_son)
public class SonFragment extends MainFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.nullView = true;
}
}
你可能忘了在最后添加带_的生成子片段?