gpt4 book ai didi

android - 添加具有 0 containerViewId 的 fragment

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:11 26 4
gpt4 key购买 nike

当我调用FragmentTransaction add (Fragment fragment, String tag) 时android在哪里添加 fragment

我写了这段代码,但看不到 fragment 的布局。它显示一个空白屏幕。

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Fragment fragment = new TestFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(fragment, "test");
ft.commit();
} // onCreate

public class TestFragment extends Fragment {

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.frag_layout, container, false);
}
} // TestFragment

最佳答案

您需要指定布局资源 ID,以便 FragmentTransaction 可以将您的 fragment 添加到该资源(容器)。

当您调用 FragmentTransaction.add(Fragment, Tag) 时,您实际上调用的是 FragmentTransaction.add(0,Fragment,Tag) 并记住“0”不是一个有效的资源 ID。所以实际上你的 fragment 是在没有任何 View 的情况下创建的。

可能有没有 View 的 fragment ,所以这个方法实际上用于那些刚刚创建以进行一些处理但与布局没有交互的 fragment 类型

关于android - 添加具有 0 containerViewId 的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36468050/

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