如何向制表符片段添加布局?

时间:2015-02-25 18:11:45

标签: android listview android-fragments layout tabs

我正在尝试使用ViewPager创建一个具有Tab布局的Android up。 我无法理解我必须处理任何标签的布局。 我知道onCreateView()类中的函数PageFragment可以做到这一点,我已经这样做了:

@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。此操作在switch方法内的onCreateView()中处理。 以下是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,所以我无法在交换机中管理其他case:以显示其他UI元素。

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

1 个答案:

答案 0 :(得分:3)

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

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