gpt4 book ai didi

android - fragment 如何从 parentActivity 获取数据?

转载 作者:行者123 更新时间:2023-11-30 01:22:12 25 4
gpt4 key购买 nike

我有 2 个 Activity MainActivityDetailActivity,如果我在 MainActivity 中单击 ListView 将 Intent DetailActivity 内容为“id”,在 DetailActivity 中,我有 2 个 fragment (TabLayout-ViewPager)。

我的问题是: fragment 如何从上面的 Intent 中获取“id”???

最佳答案

Fragment in android,如果 Android 决定稍后重新创建您的 Fragment,它将调用您的 fragment 的无参数构造函数。所以重载构造函数不是解决方案。 for more detail please read this stack overflow answer

private int mId;
private static final String ID = "id";
public static DetailsFragment newInstance(int id) {
DetailsFragment fragment = new DetailsFragment();
Bundle args = new Bundle();
args.putInt(ID, id);

fragment.setArguments(args);
return fragment;
}

在oncreate方法中获取值

@覆盖

     public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null)
//mId is variable which contain (YourActivity)MainActivity value.you can use in fragment.
mId = getArguments().getInt(ID);


}

//在oncreate方法中调用你的YourActivity(MainActivity)

 int id = yourid;
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,DetailFragment.newInstance(id)).commit();

关于android - fragment 如何从 parentActivity 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941678/

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