当我们需要Activity和Fragment通信的时候,我们有很多办法。比如,我们可以在Activity中定义一个方法,然后在Fragment中获取到依附的Activity对象,并调用方法,便可以获取对应的值。但是,我们有这样一种场景。一个Activity有三个标签页。由于三个标签页布局都是一样的,只是数据不同而已,所以我们选择三个页面使用一个Fragment完成。但我们需要传入一个值做区分。这时候就需要我们通过bundle向Fragment传值了。
Activity通过bundle向Fragment传值步骤如下
1.Activity中代码
Bundle bundle = new Bundle();
bundle.putString("name","Mjj");
Fragment fragment = new Fragment();
fragment.setArguments(bundle);
2.Fragment中代码
if (isAdded()){
Bundle bundle = getArguments();
String name = bundle.getString("name");
}
这样我们就在Fragment中接收到了对应的传值内容。