getArguments 返回 null

getArguments returning null

我想将数据从 activity 发送到我的片段。我现在正在做的是以下内容。

String itemDescription = workAssignmentItem.getDescription();
Bundle bundle = new Bundle();
bundle.putString("itemDescription", itemDescription);
FirstFragment.newInstance(bundle);

然后在我的片段中:

public static FirstFragment newInstance(Bundle bundle) {
    FirstFragment fragment = new FirstFragment();
    fragment.setArguments(bundle);
    return fragment;
}

但是,当我尝试在我的 onCreate 中执行“getArguments().getString("itemDescription");”时,如下所示:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    description = getArguments().getString("itemDescription");

}

这是行不通的。 getArguments returns 空。我不太清楚为什么它 returns 为 null,因为互联网上的多个来源都说这是这样做的方法。

谁能指出我正确的方向? 提前致谢

你不需要 bundle 来传递 Fragment 中的单个字符串

String itemDescription = workAssignmentItem.getDescription();
FirstFragment.newInstance(itemDescription);

片段改成这样:

public static FirstFragment newInstance(String itemDescription){
    FirstFragment fragment=new FirstFragment();
    bundle args=new Bundle();
    args.putString("itemDescription",itemDescription);
    fragment.setArguments(args);
    return fragment;
}  

和 onCreate 是这样的:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    description = getArguments().getString("itemDescription");
}