(Android)Fragmentの基礎入門学習ノート---FragmentとActivity通信の2つの方式
Fragment入門学習ノート
fragmentとActivity通信
1つのコンテナactivityでfragmentでactivityのコントロールを変更するには、2つの方法があります.
getActivityの利用
まずコンテナactivityでメソッドを作成する
fragmentでgetActivityを呼び出し、強制的にターゲットactivityに変換する上記メソッド(ContainerActivity)getActivity()を呼び出す.setData(「こんにちは」);
activityのコントロールの値の変更を完了します.
コールバックの利用
Fragmentに内部インタフェースクラスを書く
fragmentでの外部転送によるインタフェースの実装
Activityはfragmentで定義されたインタフェースを実現する
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(" ");