15

画面に表示する必要があるフラグメントがあります。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;
    }

}
4

1 に答える 1

27

注射はonViewCreated

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    commentEditText.setText("Some comment");
}
于 2012-03-20T17:46:56.697 に答える