我只是想知道如何在创建 Fragment 之前将参数或参数发送到它。因为我想将一个字符串数组传递给片段,以便它可以在创建时将所有字符串放入布局中。例如,我正在制作一个排行榜片段,我的活动将传递该片段将用于显示的所有分数等。我知道我可以使用 Bundle 和 .setArgs 但这对我的情况有用吗?谢谢
** 编辑 **
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View singleplayerView = inflater.inflate(R.layout.singleplayer_tab, container, false);
String[] scores = (String[]) getArguments().get("scores");
TextView tview = (TextView) singleplayerView.findViewById(R.id.player_name0);
tview.setText(scores[0]);
setupRank(singleplayerView);
return singleplayerView;
}
public static SingleplayerTab newInstance(String[] scores) {
SingleplayerTab spt = new SingleplayerTab();
Bundle args = new Bundle();
args.putStringArray("scores", scores);
spt.setArguments(args);
return spt;
}
调用它的代码
String[] scores = {"hello"};
Fragment singlePlayerFragment = SingleplayerTab.newInstance(scores);