ぬるぽ

プログラミング初心者からオリジナルサービスを一緒に作れるように成長していくブログ

【Android】Fragment入門

こんちにはmorimoriです。

Androidアプリ開発を始めてから数ヶ月経ちました。だいぶ作業に慣れてきたので、ここいらで良くわからないままコピペで済ませていたところを復讐したいと思います。

そこで今回はFragmentの使い方についてです。

環境

Android Studio 3.0.1

Android SDK 6.0

Mac

Fragmentの静的利用

あまりニーズは無いかと思いますが、初歩ということで。

f:id:nooootion:20180507201125p:plain

appフォルダにFragment(Blank)を追加します。ここではFragmentの名前をFragment1としました。

Fragment1.javaファイルはデフォルトでゴチャゴチャ書いてありますね。(入り切らないいのでコメントは削除しました。)

f:id:nooootion:20180507202034p:plain

f:id:nooootion:20180507202044p:plain

onCreateViewでviewが生成されます。view上のコンポーネントを操作したい時はviewからコンポーネントのidを使用してコンポーネントを取得します。

f:id:nooootion:20180507202641p:plainこんな感じでxml上のコンポーネントを操作できます。

続いてActivityのxmlに表示するFragmentを記述します。

f:id:nooootion:20180507203103p:plain

Fragmentのidとname(表示するFragmentの名前)を付けます。

これで終わりかと思いきやこのまま実行するとエラーとなります。

Activity側にOnFragmentInteractionListenerのonFragmentInteractionが実装されていないためです。取り敢えずActivity側に実装するか、Activity側でイベント処理をしないならFragment1のonAttachとonDetachをコメントアウトしておきます。(この2つのメソッドはActivityとFragmentのリスナの関連付け、削除のためにあります。)

*実装した場合

f:id:nooootion:20180507205205p:plain

もしActivity側でFragmentのイベント内容を実装したい場合次のようにします。

f:id:nooootion:20180507210209p:plain

実行すれば見事画面表示されました!!!

f:id:nooootion:20180507210811p:plain

Fragmentの動的利用

続いては動的利用についてです。本来はこちらがメインになるでしょう。

やり方としては静的利用で作成したActivityのxmlを修正して、Fragmentを表示させるためのLayoutを追加します。

f:id:nooootion:20180507211517p:plain

Activity内でFragmentを生成してxmlに追加します。

f:id:nooootion:20180507211607p:plain

実行!!!

f:id:nooootion:20180507211806p:plain

まとめ

慣れれば大したことなさそうですね。tablayouの場合Fragmentの使用が必須になるのでちゃんと使えるようにしておきましょう。