setArgument和getArgument方法究竟做了什么?

时间:2015-12-04 03:14:22

标签: java android

public class PageFragment extends Fragment {
public static final String ARG_PAGE = "ARG_PAGE";

private int mPage;

public static PageFragment newInstance(int page) {
    Bundle args = new Bundle();
    args.putInt(ARG_PAGE, page);
    PageFragment fragment = new PageFragment();
    fragment.setArguments(args);
    return fragment;
}

我对上面的代码感到困惑,其中片段有一个名为setArguments(args)的东西。

我不确定这个`setArguments(args)究竟是什么,我也想知道getArgument()方法在查看developer.android.com时看到了什么。

2 个答案:

答案 0 :(得分:0)

用于将数据传递给片段,在片段代码中,您可以调用getArguments()来获取传递给它的内容。

答案 1 :(得分:0)

看看这个例子:

从活动中您按意图发送数据:

Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
// set Fragmentclass Arguments 
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle)

并在Fragment onCreateView方法中:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("edttext");    //Get the data using getArguments()
    return inflater.inflate(R.layout.fragment, container, false);
}