2014-01-22 105 views
0

嗨,在我的項目中,我使用了一個帶有三個片段的操作欄,它們是片段。現在我在片段C中有一個按鈕,當我點擊按鈕時,我需要滑回片段B,同時我也想將片段C中的數據傳送給B,這是次要的,可以讓我指出正確的方向。做到這一點。Android:從一個片段滑動到其他片段

下面是我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) { 
    } 

回答

0

我認爲這個問題是一個重複的,拿這裏看看Android ActionBar Tabs - Swipe代碼幾乎是一樣的:一個viewpager,一個動作條,你需要片段之間transiction用滑動手勢完成。

希望它可以幫助你出去;)

+0

您好,我想在按鈕點擊瀏覽,按鈕在片段C到getSupportActionBar()或東西 – teekib

+1

無法訪問的動作條,然後設置與setSelectedNavigationItem元素(int index)?我認爲這就是它應該做的;) – Angmar

+0

可以告訴你如何獲得標籤索引? – teekib