@ViewById注释在我的DialogFragment中无效。
我使用@EFragment(R.layout.mydialogfragment)
我通过
创建片段 MyDialogFragment_.builder()
.build()
.init(someObject, new ClickListener() {...})
.show(getFragmentManager(), "myDialog");
其中init()
是我的自定义方法,它返回MyDialogFragment
进行链接。
我没有覆盖OnCreateDialog
,也没有覆盖onCreateView
,而且我没有使用AndroidAnnotations的任何@After...
注释。
我正在尝试在init()
方法中使用注入的视图,但它们都是null。
答案 0 :(得分:3)
正当我完成输入问题时,我意识到出了什么问题。我假设视图会在build()
返回时被注入,所以我可以在init()
方法中使用它们,但它们不是。{修复是使用@AfterViews
注释注释另一个方法并在那里进行与视图相关的初始化。
答案 1 :(得分:0)
如何使用AA创建DialogFragment:
@EFragment(R.layout.my_fragment_layout) public class MyDialogFragment extends DialogFragment {
@ViewById TextView myTextView;
@ViewById Button myButton;
public static MyDialogFragment_ newInstance() {
MyDialogFragment_ f = new MyDialogFragment_();
return f;
}
@AfterViews void init() {
// something
}
}
我该如何开始?
FragmentTransaction ft = fragmentManager.beginTransaction();
DialogFragment newFragment = MyDialogFragment.newInstance();
newFragment.show(getSupportFragmentManager(), "dialog");