使用PagerSlidingTabStrips单击选项卡时切换标签不起作用

Vik*_*tel 4 android android-viewpager fragmentpageradapter pagerslidingtabstrip

我已经集成PagerSlidingTabStrips在我的应用程序中,该应用程序在选项卡的滑动上按预期运行.

但是选择标签PagerSlidingTabStrips不会切换到在标签之间滑动时完美运行的那个片段.

FragmentManager fm = getSupportFragmentManager();
mPager = (ViewPager) findViewById(R.id.pager);
ViewPagerAdapter viewpageradapter = new ViewPagerAdapter(fm);
mPager.setAdapter(viewpageradapter);
pagerSlidingTabStrp = (PagerSlidingTabStrip) findViewById(R.id.pager_sliding_tab_strip);
pagerSlidingTabStrp.setShouldExpand(true);
pagerSlidingTabStrp.setViewPager(mPager);
pagerSlidingTabStrp.setOnPageChangeListener(ViewPagerListener);     


// Capture ViewPager page swipes
    ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            switch(position)
            {
            case 0:
                setMotherActionBarTitle(getString(R.string.str_all_contacts_fragment));
                break;
            case 1:
                setMotherActionBarTitle(getString(R.string.str_group_contacts_fragment));
                break;
            case 2:
                setMotherActionBarTitle(getString(R.string.str_call_logs_fragment));
                break;                  
            }
        }
    };
Run Code Online (Sandbox Code Playgroud)

ViewPagerAdapter

public class ViewPagerAdapter extends FragmentPagerAdapter implements IconTabProvider {
final int PAGE_COUNT = 3;
private final int[] ICONS = { R.drawable.tab_icon_zname_contact_selector, R.drawable.tab_icon_zname_friends_selector, 
        R.drawable.tab_icon_zname_call_log_selector };

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}


@Override
public Fragment getItem(int item) {
    switch (item) {

    case 0:
        ContactsFragment homeFragment = new ContactsFragment();
        return homeFragment;
    case 1:
        GroupsFragment groupsFragment = new GroupsFragment();
        return groupsFragment;
    case 2:
        CallLogsFragment callLogsFragment = new CallLogsFragment();
        return callLogsFragment;
    }
    return null;
}

@Override
public int getCount() {
    return PAGE_COUNT;
}

@Override
public int getPageIconResId(int position) {
    return ICONS[position];
 }

} 
Run Code Online (Sandbox Code Playgroud)

如何使选择标签适用于PagerSlidingTabStrips?更多的PagerSlidingTabStrips标签甚至不是clickabe.

我错过了实施的东西吗?或者添加pagerSlidingTabStrips.setClickable(true)?或者其他的东西?

再次选择的PagerSlidingTabStrips选项卡没有选择适当的选择器.可能的原因是什么?

这是它的图片. PagerSlidingTabStrips

Vik*_*tel 17

我已经找到了为什么PagerSlidingTabStrips在我寻找其他选项以及滑动标签功能之后点击标签不起作用,因为SlidingTabsLayout它也无法点击标签.

发现问题是我的xml布局覆盖了整体,因为ViewPager它没有使标签可点击任何一个PagerSlidingTabStripsSlidingTabsLayout工作.

        <com.netdoers.zname.utils.PagerSlidingTabStrip
            android:id="@+id/pager_sliding_tab_strip"
            android:layout_width="fill_parent"
            android:layout_height="45dip"
            android:background="@android:color/white"
            app:pstsDividerColor="#FFFFA500"
            app:pstsIndicatorColor="#FFFFA500"
            app:pstsTabPaddingLeftRight="14dip"
            app:pstsUnderlineColor="#FFFFA500" />


        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="45dp" />
Run Code Online (Sandbox Code Playgroud)

离开相同的高度ViewpagerPagerSlidingTabStips从顶部在那里PagerSlidingTabStrips渲染解决了我的问题.