Представления не вводятся AndroidAnnotations в DialogFragment
Аннотации @ViewById не работают в моем DialogFragment.
я использую @EFragment(R.layout.mydialogfragment)
Я создаю фрагмент, делая
MyDialogFragment_.builder()
.build()
.init(someObject, new ClickListener() {...})
.show(getFragmentManager(), "myDialog");
где init()
мой пользовательский метод, который возвращает MyDialogFragment
для цепочки.
Я не переопределил OnCreateDialog
и я не переопределил onCreateView
и я не использую @After...
аннотации Android Аннотации.
Я пытаюсь использовать внедренные представления в моем init()
метод, но они нулевые.
2 ответа
Как только я закончил набирать вопрос, я понял, что случилось. Я предполагал, что представления будут введены ко времени build()
вернулся, чтобы я мог использовать их в init()
метод, но они не были. Исправление состояло в том, чтобы аннотировать другой метод с @AfterViews
аннотации и сделать вид, связанный с инициализацией там.
Как я могу создать свой DialogFragment с помощью AA:
@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");