Я пытаюсь передать простой String
из @EActivity в @EFragment, поэтому я могу позже назначить это значение textView в @EFragment, я не хотите использовать экономию в расслоении рисункаКак передать данные из @EActivity в @EFragment и назначить для просмотра
Моя попытка:
@EActivity(R.layout.activity_pre_plan_detail)
public class PrePlanDetailActivity extends AppCompatActivity {
// some long adapter code
@AfterViews
void inits_(){
adapter.addFragment(myFragment_.builder().build().setme("something"));
}
}
______________________________________________________________________________
@EFragment(R.layout.fragment1)
public class PlanDescription extends Fragment {
@ViewById
TextView tv_fpd_description;
public void setme(String data){
tv_fpd_description.setText(data);
}
}
выход/ошибка:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
Примечание: Все упомянутые аннотации являются частью библиотеки шаблонного [android annotation][1]
явно 'tv_fpd_description' равна нулю, прежде чем он вводится (я ставку на' onCreateView') ... onCreateView не вызывается до фрагмента добавляется в операцию ... – Selvin
так, где я должен инициализировать его тогда –
Наивное решение: проверьте, является ли view null в setme ... если он затем хранит данные somwhere и устанавливает его в @AfterViews фрагмента ... или использует setme после 'adapter.addFragment' – Selvin