Devlight/NavigationTabStrip

setOnPageChangeListener

Open

#20 opened on Aug 31, 2016

View on GitHub
 (4 comments) (0 reactions) (0 assignees)Java (324 forks)batch import
bughelp wanted

Repository metrics

Stars
 (2,240 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

When I change of fragment, always return position 0.

mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                switch (position) {
                    case 0:
                        return mHistoryFragment;
                    case 1:
                        return  mPostFragment;
                    default:
                        return null;
                }
            }

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

        mViewPager.setPageMargin(8); // TODO Convert 'px' to 'dp'
        mViewPager.setPageMarginDrawable(R.color.accent);

        mTabsAction.setViewPager(mViewPager);
        mTabsAction.setTitles(getString(R.string.button_new_history), getString(R.string.button_new_post));
        //mTabsAction.setTabIndex(0, true);
        mTabsAction.setStripColor(getResources().getColor(R.color.accent));
        mTabsAction.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                validateButton();
                switch (position) {
                    case 0:
                        TAB = HISTORY;
                        validateDraft(Constants.HISTORY);
                        break;
                    case 1:
                        TAB = POST;
                        validateDraft(Constants.POST);
                        break;
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

        mTabsAction.setOnTabStripSelectedIndexListener(new NavigationTabStrip.OnTabStripSelectedIndexListener() {
            @Override
            public void onStartTabSelected(String title, int index) {
                validateButton();
                switch (index) {
                    case 0:
                        TAB = HISTORY;
                        validateDraft(Constants.HISTORY);
                        break;
                    case 1:
                        TAB = POST;
                        validateDraft(Constants.POST);
                        break;
                }
            }

            @Override
            public void onEndTabSelected(String title, int index) {

            }
        });

thanks

Contributor guide