使用 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");
    ...
 }