我有一个片段需要在屏幕上显示。我希望能够使用InjectView
来注入我的UI元素。 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;
}
}
答案 0 :(得分:27)
在onViewCreated
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
commentEditText.setText("Some comment");
}