如何将布局添加到选项卡片段?

How to add layouts to tab fragments?

我正在尝试创建一个 Android up,它具有使用 ViewPager 实现的 Tab 布局。 我不明白我必须在哪里处理任何选项卡的布局。 我知道 PageFragment class 中的函数 onCreateView() 可以做到这一点,我已经做到了:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_page, container, false);

        switch(mPage)
        {
            case 1:
                ScheduleList(view);
                return view;
            case 2:
                // Do something.
                return view;
            case 3:
                // Do something.
                return view;
        }
        return view;
    }

    public void ScheduleList(View v) {
        ItemsLst = (ListView) v.findViewById(R.id.listview);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, Items);
        ItemsLst.setAdapter(adapter);
    }

这只是在第一个选项卡中显示 ListView。此操作在 onCreateView() 方法内的 switch 中处理。 这是 ListView 的 XML 布局:

<?xml version="1.0" encoding="utf-8"?>

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

问题是我只能在 XML 文件中包含 ListView,所以我无法在显示其他 UI 的开关中管理其他 case:元素。

例如,第一个选项卡显示 ListView,我想在第二个选项卡中显示一些文本,在第三个选项卡中显示其他一些文本。 我该怎么做? 提前谢谢你,希望我自己解释一下。

看来您已经处理了布局文件:/,您应该为每个片段提供一个布局文件。

View view = inflater.inflate(R.layout.fragment_page, container, false);

上面的代码将片段布局设置为 res/layout/fragment_page。xml

如果您仍然有点困惑,我建议您遵循本教程 :D - http://www.exoguru.com/android/material-design/navigation/android-sliding-tabs-with-material-design.html