Activity 数据传递给Fragment

下面说的宿主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 传递

发布了658 篇原创文章 · 获赞 250 · 访问量 63万+

猜你喜欢

转载自blog.csdn.net/qq_33210042/article/details/104039811