(Android)Fragmentの基礎入門学習ノート---FragmentとActivity通信の2つの方式


Fragment入門学習ノート
fragmentとActivity通信
1つのコンテナactivityでfragmentでactivityのコントロールを変更するには、2つの方法があります.
getActivityの利用
まずコンテナactivityでメソッドを作成する
 public  void  setData(String text){
 		//mTvTitle Activity   TextView
        mTvTitle.setText(text);
    }

fragmentでgetActivityを呼び出し、強制的にターゲットactivityに変換する上記メソッド(ContainerActivity)getActivity()を呼び出す.setData(「こんにちは」);
((ContainerActivity)getActivity()).setData("  ");

activityのコントロールの値の変更を完了します.
コールバックの利用
Fragmentに内部インタフェースクラスを書く
  public  interface IOMessageClick{
        void onClick(String text);
    }


fragmentでの外部転送によるインタフェースの実装
   private  IOMessageClick ioMessageClick;

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        try {
            ioMessageClick = (IOMessageClick) context;
        }catch (ClassCastException e){
            throw new ClassCastException("Activity     IOMessageClickj  ");
        }

    }

Activityはfragmentで定義されたインタフェースを実現する
public void onClick(String text) {
       mTvTitle.setText(text);
   }

fragmentで呼び出して通信を実現
ioMessageClick.onClick("  ");