繁体   English   中英

创建片段:单行方法

[英]Create a fragment: One-line method

是否可以在一行中创建一个Fragment或为此目的必须创建一个子类?


标准方式:

List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Tab1Fragment.class.getName()));

@SuppressLint("ValidFragment")
class TabFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.tab_fragment, container, false);
    }
}

我正在寻找的东西是这样的:

List<Fragment> fragments = new Vector<Fragment>();
fragments.add(/*create a new Fragment here!*/);

标准方式

那不是“标准方式”。 不再使用Vector ,通常您可以使用构造函数或您自己的工厂方法自行创建片段实例。

我正在寻找的是这样的东西

这就是第一个示例中的内容。

如果您确实在问“我必须使用Fragment.instantiate()吗?”,答案是“否,您可以使用new Tab1Fragment() ”。

如果您真的要问“我是否必须创建Tab1Fragment作为Fragment的子类?”,答案是“是”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM