我正在尝试使用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 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
,我想在第二个标签中显示一些文本,在第三个标签中显示其他一些文本。
我该怎么做?
提前谢谢你,希望我自己解释一下。
答案 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