Android& RoboGuice - 在Fragment上注入视图?

时间:2012-03-20 02:50:53

标签: android fragment inject roboguice

我有一个片段需要在屏幕上显示。我希望能够使用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;
    }

}

1 个答案:

答案 0 :(得分:27)

onViewCreated

期间进行注射
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    commentEditText.setText("Some comment");
}