gpt4 book ai didi

Android fragment 嵌套在另一个 fragment : getParentFragment() returns 0

转载 作者:行者123 更新时间:2023-11-29 01:44:10 25 4
gpt4 key购买 nike

基本上情况是这样的:我有一个 Activity,它在 FragmentPagerAdapter 中显示三个 Fragments,并且在其中一个中Fragment,我嵌套另一个Fragment。我添加了这样的 fragment :

fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(rootView.getId(), new MainPageFragment(), "lpt2");
fragmentTransaction.commit();

当我尝试在 MainPageFragment() 中调用 getParentFragment() 时,它返回 null。怎么可能?我检查了 stackoverflow 和其他博客上的多篇文章,他们都得出结论,如果将一个 fragment 嵌套在另一个 fragment 中,调用 getParentFragment 应该返回其父 fragment 。返回 null 意味着父项是一个 Activity ,如 here 所述.事实并非如此。请告诉我我犯了一些愚蠢的错误:\

这是 Fragment,它是主要 Activity 的子级

public class MainPage extends Fragment {

private FragmentTransaction fragmentTransaction;
private View rootView;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
global_var = new Global();
rootView = inflater.inflate(R.layout.main_page, container, false);
return rootView;
}
@Override
public void onViewCreated (View view, Bundle savedInstanceState) {
fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(rootView.getId(), new MainPageFragment(), "lpt2");
fragmentTransaction.commit();
}
}

这是 Main Page Fragment 的子 fragment

public class MainPageFragment extends Fragment{
private View rootView;
private Fragment parentFragment;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.main_page_list, container, false);
if (getParentFragment() == null) Log.i("damn", "it");
return rootView;
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onViewCreated(view, savedInstanceState);
}
}

请告诉我是否需要提供更多代码,我提取了 ListView 等内容,因为我认为它们无关紧要。

编辑:我正在使用 android.support.v4.app

最佳答案

检查您是否已从 FragmentPagerAdapter 传递对所有 fragment 的 FragmentManager 引用,然后使用 getParentFragment()。也许这会对您有所帮助。

关于Android fragment 嵌套在另一个 fragment : getParentFragment() returns 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500973/

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