activity与另一个activity的fragment之间相互传值
谁能详细说明一下吗 最后给一个例子 谢谢大家
activity与另一个activity的fragment
也就是activity和activity传值以及activity和fragment交互问题。
没有activity和另一个activity的fragment之间相互传值一说。
fragment可以理解是一个特殊的控件,和Button和TextView类似,只是特殊点而已,和activity不是对等关系。
先通过intent传给另一个activity,然后通过诸如 fragment1.setArguments(data);传递给fragment
Activity 向 Fragment 传递数据 :
一 通过bundle设置参数
Bundle bundle = new Bundle();
bundle.putString("name","加多宝");
sf.setArguments(bundle);
二 通过调用接口
设置一个接口 让被接收数据方 实现该方法
让发送方调用该接口
Fragment 向 A ctivity 传递数据 :
一 通过 getActivity 强转成 需要接收数据的Activity 调用其方法
二 通过接口
还可以利用 sp sqLite 等
用EventBus.
第一个fragment
EventBus.getDefault().postSticky("aaa");
第二个fragment
@Subscribe(threadMode = ThreadMode.MainThread)
public void onUserEvent(String content) {
Log.e(content);
}
第二个fragment需要在oncreate 中注册,onDestroy中反注册