【发布时间】:2014-12-03 07:31:09
【问题描述】:
在我的应用程序中,我想使用片段内四个选项卡的滑动视图。四个选项卡分别包含不同的片段,所有四个片段都通过从右向左滑动来滑动,反之亦然。片段工作正常,但选项卡在片段中不可见。任何人对此都有任何解决方案。在此先感谢:)
这是包含选项卡的主要片段:-
public class DashboardTabFragment extends Fragment implements ActionBar.TabListener {
private static final String ARG_SECTION_NUMBER = "arg_section_number";
private String[] tabTitle = {"Cleanness", "Product Display", "Hygiene", "Asm Visits"};
public static DashboardTabFragment newInstance(int position) {
DashboardTabFragment fragment = new DashboardTabFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, position);
fragment.setArguments(args);
return fragment;
}
private ViewPager viewPager;
public DashboardTabFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_dashboard_tab, container, false);
setHasOptionsMenu(true);
ActionBar actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar();
assert actionBar != null;
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
viewPager = (ViewPager) rootView.findViewById(R.id.pager);
TabPageAdapter tabPageAdapter = new TabPageAdapter(getActivity().getSupportFragmentManager(), getActivity());
viewPager.setAdapter(tabPageAdapter);
for (String aTabTitle : tabTitle)
actionBar.addTab(actionBar.newTab().setText(aTabTitle).setTabListener(this));
return rootView;
}
这是片段的适配器:-
public class TabPageAdapter extends FragmentPagerAdapter {
Context context;
public TabPageAdapter(FragmentManager fm,Context context) {
super(fm);
this.context = context;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new CleannessChartFragment(context);
case 1:
return new ProductDisplayChartFragment(context);
case 2:
return new HygieneChartFragment(context);
case 3:
return new AsmVisitsChartFragment(context);
}
return null;
}
@Override
public int getCount() {
return 4;
}
【问题讨论】:
-
but the tabs are not visible within the fragment?请描述性! -
表示标签正在工作但不可见。
-
您是否检查了您创建的片段的布局宽度和高度,或者请检查您如何将 TabView 放置在您的 xml 中。当您使用 LinearLayout 并定义第一个小部件宽度和高度以获取设备的完整宽度和高度时,就会出现此类问题。
-
我使用了 ViewPager。要检查xml文件吗?
-
是的,请检查 fragment_dashboard_tab.xml 并检查您为 R.id.pager 定义的高度宽度
标签: android fragment navigation-drawer swipeview