使用 Bundle 将数据从 Activity 传递到 Fragment

所有片段都应该有一个空构造函数(即没有输入参数的构造函数方法)。因此,为了将数据传递给正在创建的 Fragment,你应该使用 setArguments() 方法。此方法获取一个 bundle,你可以将数据存储在其中,并将 Bundle 存储在参数中。随后,可以在片段的 onCreate()onCreateView() 回调中检索此 Bundle。

活动:

 Bundle bundle = new Bundle();
 String myMessage = "Stack Overflow is cool!";
 bundle.putString("message", myMessage );
 FragmentClass fragInfo = new FragmentClass();
 fragInfo.setArguments(bundle);
 transaction.replace(R.id.fragment_single, fragInfo);
 transaction.commit();

分段:

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    String myValue = this.getArguments().getString("message");
    ...
 }