fkm blog

software開発に関することを書いていきます

ゼロからFragment(1)

まずはFragmentを継承したクラスを作ってみますか.

疑似アプリのログイン画面用Fragment.

public class LoginFragment extends Fragment {
    public static LoginFragment newInstance() {
        LoginFragment fragment = new LoginFragment();
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_login, container, false);
        
        return root;
    }
}

Fragmentのお作法として, newInstance()メソッドを実装して, それ経由でインスタンスを作成したほうが, どうもよさそう.

理由として, Fragmentは裏で復元されるので引数無しコンストラクタが必要となるから.

ViewをLayoutInflaterから作る際もお作法がある. かならず上記のように3引数版で, 第2引数/第3引数はそれぞれcontainer/falseにする必要がある. このルールを守らないと例外を裏で投げられる(´・_・`)

最低限のお作法, 他にもあるかな。。。?