Ответ 1
Инъекция происходит во время onViewCreated
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
commentEditText.setText("Some comment");
}
У меня есть фрагмент, который мне нужно отобразить на экране. Я хочу использовать InjectView
для ввода элементов пользовательского интерфейса. InjectView отлично работает в действиях, потому что представление (xml) установлено во время onCreate
, однако на фрагментах представление установлено на onCreatView
.
Итак, есть ли способ использовать InjectView для фрагментов? Я знаю, что я мог бы использовать findViewbyId для поиска каждого элемента, но я предпочитаю использовать InjectView
public class ProfileFragment extends RoboDialogFragment {
@InjectView(R.id.commentEditText)
protected EditText commentEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// I get a null pointer exception here
commentEditText.setText("Some comment");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.profile , container, false);
// I get a null pointer exception here
commentEditText.setText("Some comment");
return view;
}
}
Инъекция происходит во время onViewCreated
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
commentEditText.setText("Some comment");
}