使用android中的ActionBarsherlock选项卡选择选项卡时切换活动

时间:2012-05-30 11:19:51

标签: android tabs actionbarsherlock

我正在使用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

    }

当我运行应用程序Activity1反复切换时(从logcat获取)。

1 个答案:

答案 0 :(得分:0)

根据他们所说的here,使用标签在活动之间导航是不可能的。 :( 但如果您找到了解决方案,请随时与我联系。 感谢。