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绑定到仅使用一种类型的片段......
尝试这个
@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
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |