いろいろ備忘録

雑記です。

フラグメントのコメントの訳

package com.example.apitestapp;

import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


/**
* このフラグメントを内包するアクティビティはインタラクションイベントを受け取るために
* BlankFragment.OnFragmentInteractionListenerを実装する必要あり
* このフラグメントのインスタンスを生成するにはBlankFragment#newInstanceを使用する
*/
public class BlankFragment extends Fragment {

private OnFragmentInteractionListener mListener;

public BlankFragment () {
// リフレクションされるため必要
}

public static BlankFragment getInstance () {
return new BlankFragment ();
}

@Override
public void onCreate ( Bundle savedInstanceState ) {
super.onCreate ( savedInstanceState );
}

@Override
public View onCreateView ( LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState ) {
// Inflate the layout for this fragment
return inflater.inflate ( R.layout.fragment_blank, container, false );
}

// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed ( Uri uri ) {
if ( mListener != null ) {
mListener.onFragmentInteraction ( uri );
}
}

//アクティビティによる利用が始まったとき実行される
@Override
public void onAttach ( Context context ) {
super.onAttach ( context );
//利用元アクティビティがインタラクションリスナを実装しているとき
if ( context instanceof OnFragmentInteractionListener ) {
//アクティビティをリスナとしてメンバ変数に設定
mListener = (OnFragmentInteractionListener) context;
} else {
//例外を投げる
throw new RuntimeException ( context.toString ()
+ " must implement OnFragmentInteractionListener" );
}
}

//アクティビティから切り離されたとき実行される
@Override
public void onDetach () {
super.onDetach ();
mListener = null;
}

//このフラグメントを利用するフラグメントが実装しなければならないリスナインタフェース
public interface OnFragmentInteractionListener {
void onFragmentInteraction ( Uri uri );
}
}