gpt4 book ai didi

android - 在 fragment 上恢复包信息的正确方法和位置?

转载 作者:行者123 更新时间:2023-11-30 02:07:35 24 4
gpt4 key购买 nike

我已经看到 Bundle 在几个 Android 回调方法中恢复,但在许多情况下,Bundle 是手动创建和设置的,如 developers网站,在本例中来自关于 Fragment 创建的外部消息:

public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();

// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);

return f;
}

在此other question ,例如,在 onCreateView() 方法中恢复包数据。

public class Frag2 extends Fragment {

public View onCreateView(LayoutInflater inflater,
ViewGroup containerObject,
Bundle savedInstanceState){
//here is your arguments
Bundle bundle=getArguments();

//here is your list array
String[] myStrings=bundle.getStringArray("elist");
}
}

我对每个回调方法提供的 Bundle 数据与“其他包”有点困惑:

Bundle bundle=getArguments(); 

以及检索这些不同类型的 bundle 数据的正确方法和位置

提前致谢!

最佳答案

上面介绍的两种方式都是正确的方式

  • 初始化 Fragment 的新实例并传递初始参数。
  • 检索 fragment 中的初始参数。

换句话说,您走对了!它应该有效,您应该对自己感到满意 :)

编辑:

  • Bundle 可以在 onCreateView()onCreate()。我更喜欢 onCreate(),因为它代表创建Fragment 实例,是初始化的正确位置。
  • 调用 getArguments() 总是会检索到一个且只有一个 Bundle 实例,并且这个 Bundle 实例包含您所有的intString 等等。

关于android - 在 fragment 上恢复包信息的正确方法和位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30459194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com