Android:Tab从一个片段滑动到另一个片段

时间:2014-01-22 12:15:39

标签: android android-fragments android-actionbar

您好,在我的项目中,我使用的是一个带有三个标签的操作栏。现在我在片段C中有一个按钮,当我点击按钮我需要刷回片段B时,我也想将我的数据从片段C传送到B这是次要的,可以有人指向我正确的方向我怎么能实现这一目标。

下面是我的MainActivty,其中包含所有片段

public class MainActivity extends FragmentActivity implements
        ActionBar.TabListener {

    private String[] tabs = { "fragA", "fragB", ""fragC", " };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main)
        // Initilization
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);

        // Adding Tabs
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name)
                    .setTabListener(this));
        }

        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }

1 个答案:

答案 0 :(得分:0)

我认为这个问题是重复的,看看这里Android ActionBar Tabs - Swipe代码几乎是相同的:一个viewpager,一个操作栏,你需要在片段之间进行滑动才能用滑动手势完成。

希望它帮助你;)