DialogFragment 中的 AndroidAnnotations 不会注入视图

Views don't get injected by AndroidAnnotations in DialogFragment

@ViewById 注释在我的 DialogFragment 中不起作用。

我用@EFragment(R.layout.mydialogfragment)

我通过

创建片段

MyDialogFragment_.builder() .build() .init(someObject, new ClickListener() {...}) .show(getFragmentManager(), "myDialog");

其中 init() 是我的自定义方法,returns MyDialogFragment 用于链接。

我没有覆盖 OnCreateDialog,也没有覆盖 onCreateView,我也没有使用 AndroidAnnotations 的任何 @After... 注释。

我试图在我的 init() 方法中使用注入的视图,但它们是空的。

当我完成问题输入时,我意识到出了什么问题。我假设视图会在 build() 返回时注入,这样我就可以在 init() 方法中使用它们,但事实并非如此。解决方法是用 @AfterViews 注释注释另一个方法,并在那里进行视图相关的初始化。

如何使用 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");