创建片段:单行方法

时间:2017-05-02 20:01:30

标签: java android android-fragments android-adapter

是否可以在一行中创建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!*/);

1 个答案:

答案 0 :(得分:2)

  

标准方式

这不是&#34;标准方式&#34;。 Vector已不再使用,您通常使用构造函数或您自己的工厂方法自行创建片段实例。

  

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

这就是你在第一个例子中所拥有的。

如果你真的在问我是否必须使用Fragment.instantiate()?&#34;,答案是&#34;不,你可以使用new Tab1Fragment()&#34;。

如果你真的在问我是否需要创建Tab1Fragment作为Fragment的子类?&#34;,答案是&#34;是&#34;。< / p>