在使用OnPageChangeListener(ViewPager)打开新选项卡之前显示对话框

时间:2015-05-18 12:28:12

标签: android android-fragments dialog android-viewpager

我正在创建一个具有CustomViewPager和Adapter的android项目。有代码:

public class TabsPagerAdapter extends FragmentPagerAdapter {
private String tabTitles[] = new String[] { "TAB1", "TAB2", "TAB3", "TAB4", "TAB5"};        

public TabsPagerAdapter(FragmentManager fm) {
    super(fm);
}
@Override
public Fragment getItem(int index) {
    switch (index) {
        case 0:
            // Top Rated fragment activity
            return new FRAGMENT0();
        case 1:
            // Games fragment activity
            return new FRAGMENT1();
        case 2:
            // Movies fragment activity
            return new FRAGMENT2();
        case 3:
            // Movies fragment activity
            return new FRAGMENT3();
        case 4:
            // Movies fragment activity
            return new FRAGMENT4();
    }

    return null;
}
@Override
public int getCount() {
    return 5;
}
@Override
public CharSequence getPageTitle(int position) {
    return tabTitles[position];
}

}

viewPager:

public class NonSwipeableViewPager extends ViewPager {
public NonSwipeableViewPager(Context context) {
    super(context);
}
public NonSwipeableViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    // Never allow swiping to switch between pages
    return false;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    // Never allow swiping to switch between pages
    return false;
}
}

我在视图中有5个标签页面。我的目标是当用户处于FRAGMENT 0并触摸另一个选项卡,然后再打开新显示警告对话框,然后导航到选定选项卡。 FRAGMENT1也是如此。多数民众赞成,但我无法找到解决方案。我试图在活动中制作OnPageListener,在片段中制作OnPageListener,但它不起作用。要使用该逻辑,我需要拥有当前页面和选定的选项卡,但是如果我将侦听器放在活动pager.getCurrentItem中,则无法正常工作。有人可以帮我提一些建议吗?

0 个答案:

没有答案