ActivityとFragmentの通信方式
3174 ワード
FragmentとActivity通信
1.インタフェースの方法
最良の方法はインタフェースにほかならない.これにより、修正しない問題を回避することができる.
2.例:
A.インタフェースの定義
public interface OnViewPagerSelected
{
void onSelected(int position);
}
B.Activityの実装インタフェース
public class FuliQiLinActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener, OnViewPagerSelected
{
OnViewPagerSelected mOnViewPagerSelected;
@Override
public void onAttachFragment(android.support.v4.app.Fragment fragment)
{
mOnViewPagerSelected = (OnViewPagerSelected)fragment;
super.onAttachFragment(fragment);
}
/**
* ,Fragment-> Activity
*
* @param position
*/
@Override
public void onSelected(int position)
{
}
}
C.Fragmentの実現
public class QiLinFragment extends Fragment implements OnViewPagerSelected
{
OnViewPagerSelected mOnViewPagerSelected;
@Override
public void onAttach(Activity activity)
{
mOnViewPagerSelected = (OnViewPagerSelected)activity;
super.onAttach(activity);
}
/**
*Activity -> Fragment
*/
@Override
public void onSelected(int position)
{
Log.e("taggg", "" + position);
}
}