下面说的宿主Activity 里面的Fragment
加入现在Fragment 里面 想使用Activity 里面的城市id
方法 1 使用set值
在Fragment 里面写一个set方法 在activity 放入要传递的值
MainActivity 里面的方法
filmFragment.setCityId(cityId); // 这个id 是要传递的数据
在Fragment 里面
需要先强转一个fragment
((MainActivity) getActivity()).filmFragment = this;
然后在 写 一个set方法
public void setCityId(int cityId) { int id = cityId; Log.e("-----id", id + ""); }
方法二
在MainActivity 里面写一个get方法 ,然后在fragment 里面的onAttach 方法获取即可这个fragment 里面也需要强转一下
MainActivity 里面
public int getFilmCityId() { return cityId; }
Fragment 里面
@Override public void onAttach(Activity activity) { super.onAttach(activity); cityId= ((MainActivity) activity).getFilmCityId(); }
方法三 比较发麻一些,直接使用传递的方法,和activity 类似,就不说了
当然还可以使用eventbus 传递