向AndroidAnnotation注入的bean添加参数

Sil*_*ver 6 android android-annotations

我有一段使用AndroidAnnotations的代码,它与下面的代码非常类似:

https://github.com/excilys/androidannotations/wiki/Adapters-and-lists

但是 - 我想将一个参数传递给List适配器以指定哪个列表 - 即

@AfterInject
void initAdapter() {
    persons = personFinder.findAll(companyName);
}
Run Code Online (Sandbox Code Playgroud)

将companyName与Adapter相关联的最佳方法是什么?我不能使用带有AnroidAnnotations的构造函数 - 并且在父片段的@AfterViews之前调用@AfterViews,所以我不能再调用setter.

我目前已经破解了一个调用手动设置params然后刷新视图并删除了@AfterViews - 但是当我在层次结构中复制模式时它的讨厌和不可靠.

编辑

只需调用setter就可以在最简单的情况下工作 - 这就是我目前所拥有的.但在更复杂的情况下效果不佳.即

EFragment-> EViewGroup-> EBean ListAdapter

因为我不能使用构造函数,所以我必须等到渲染完整的层次结构并在片段告诉ViewGroup哪个公司显示公司信息之前进行布局,这反过来告诉ListAdapter哪个公司这样我可以得到哪些人,如果它变得非常混乱并且如果我的数据在网上 - 它可能会像90年代的网页那样渲染,它不需要花费太多精力.

我希望使用类似@Extras的东西 - 或者有办法传递@AfterInject的参数来使用,或者甚至只是将companyId放在片段上下文中而不将我的ListAdapter绑定到仅使用一种类型的片段......

Cíc*_*ura 2

尝试这个

@EFragment
public class MyFragment extends Fragment {

  @FragmentArg("myStringArgument")
  String myMessage;

  @FragmentArg
  String anotherStringArgument;

  @FragmentArg("myDateExtra")
  Date myDateArgumentWithDefaultValue = new Date();

}
Run Code Online (Sandbox Code Playgroud)

来源:

https://github.com/excilys/androidannotations/wiki/FragmentArg