fragment与Activity通信时,我们常常用在activity中setArgument然后再fragment中用getArgument的方法来获取activity想要传给fragment的数据;
final public Bundle getArguments() {
return mArguments;
}
这是getArgument的源码,上面注释的意思就是这个方法使用的前提是fragment未被实例化也就是还没有跟activity绑定,问题就处在这里,我们有时用fragment时使用xml来直接绑定fragment,那么在activity执行onCreat方法的时候fragment就已经被实例化,即使在下面执行代码,已经被绑定的fragment也无法拿到bundle;
解决方法:
jydId = getActivity().getIntent().getIntExtra("sellerId",-1);
利用Activity直接获得bundle