2012-05-30 147 views
1

我在使用ActionBarsherlock庫的操作欄中使用了選項卡。如何在選擇選項卡時在活動之間切換。 我的代碼如下在Android中使用ActionBarsherlock選項卡選擇選項卡之間切換活動

public class MainActivity extends SherlockFragmentActivity implements ActionBar.TabListener { 



    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 

     DetailFragment fragment = (DetailFragment) getSupportFragmentManager() 
     .findFragmentById(R.id.detailFragment); 




     getSupportActionBar().setDisplayShowHomeEnabled(false); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 
     getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     for (int i = 1; i <= 5; i++) 
     { 
      ImageView myMediaImg; 
      ActionBar.Tab tab = getSupportActionBar().newTab(); 
      tab.setCustomView(R.layout.tab); 
      tab.setTabListener(this); 
      if(i==1) 
      { 

       myMediaImg = (ImageView) tab.getCustomView().findViewById(R.id.sk_abs__tab_icon); 
       myMediaImg.setImageResource(R.drawable.ic_launcher); 
       tab.setTag("tab1"); 


      } 
      if(i==2) 
      { 
       myMediaImg = (ImageView) tab.getCustomView().findViewById(R.id.sk_abs__tab_icon); 
       myMediaImg.setImageResource(R.drawable.ic_launcher); 
       tab.setTag("tab2"); 

      } 
      if(i==3) 
      { 
       myMediaImg = (ImageView) tab.getCustomView().findViewById(R.id.sk_abs__tab_icon); 
       myMediaImg.setImageResource(R.drawable.ic_launcher); 
       tab.setTag("tab3"); 

      } 
      if(i==4) 
      { 
       myMediaImg = (ImageView) tab.getCustomView().findViewById(R.id.sk_abs__tab_icon); 
       myMediaImg.setImageResource(R.drawable.ic_launcher); 
       tab.setTag("tab4"); 

      } 
      if(i==5) 
      { 
       myMediaImg = (ImageView) tab.getCustomView().findViewById(R.id.sk_abs__tab_icon); 
       myMediaImg.setImageResource(R.drawable.ic_launcher); 
       tab.setTag("tab5"); 

      } 
      getSupportActionBar().addTab(tab); 
     } 





    } 


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

     if(tab.getTag().equals("tab1")) 
     { 
      Intent intent = new Intent(Activity1.this,Activity1.class); 
      startActivity(intent); 
     } 
     if(tab.getTag().equals("tab2")) 
     { 
      Intent intent =new Intent(Activity1.this,Activity2.class); 
      startActivity(intent); 
     } 
     if(tab.getTag().equals("tab3")) 
     { 
      Intent intent = new Intent(Activity1.this,Activity3.class); 
      startActivity(intent); 
     } 
     if(tab.getTag().equals("tab4")) 
     { 
      Intent intent = new Intent(Activity1.this,Activity4.class); 
      startActivity(intent); 
     } 
     if(tab.getTag().equals("tab5")) 
     { 
      Intent intent = new Intent(Activity1.this,Activity5.class); 
      startActivity(intent); 
     } 

    } 

    @Override 
    public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onTabReselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 

當我運行應用程序活動1反覆切換(從logcat中得到)。

回答

0

根據他們所說的here,這將不可能在使用選項卡的活動之間導航。 :( 但是,如果您發現一個解決方案,請讓我更新。 謝謝。

相關問題