2014-07-20 48 views
1

所以我“玩”有一些代码,我从标签布局,滑动浏览视图的教程得到周围起始标签..改变多刷卡意见与标签

我的问题是,我无法弄清楚如何改变它打开的默认选项卡,当应用程序启动..现在它开始在第一个选项卡(最高评分),但我想要它启动第二个选项卡称为游戏?

我周围浏览和寻找解决方案,但似乎并没有找到一个适合我的代码..

这里是我的主要胡亚蓉:

package info.androidhive.tabsswipe; 

import info.androidhive.tabsswipe.adapter.TabsPagerAdapter; 
import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.ViewPager; 

public class MainActivity extends FragmentActivity implements 
     ActionBar.TabListener { 

    private ViewPager viewPager; 
    private TabsPagerAdapter mAdapter; 
    private ActionBar actionBar; 
    // Tab titles 
    private String[] tabs = { "Top Rated", "Games", "Movies" }; 

    @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); 
     actionBar.setHomeButtonEnabled(false); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

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

       } 

     /** 
     * on swiping the viewpager make respective tab selected 
     * */ 
     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

我原来的答复没有使用addTab的覆盖指定标签本身的指标,以及它是否被选中。请参考最近的答案。 – AmmarCSE

回答

0

在你addTab电话加入你想先设定的那个,然后是其余的。 因此改变

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

       } 

actionBar.addTab(actionBar.newTab().setText(tabs[1]) 
        .setTabListener(this), 1, true); 
actionBar.addTab(actionBar.newTab().setText(tabs[0]) 
        .setTabListener(this), 0, false); 
actionBar.addTab(actionBar.newTab().setText(tabs[2]) 
        .setTabListener(this), 2, false); 

Android ActionBar tabs set initially selected tab

+0

嗨,我明白了。我没有问这个问题,因为我想要的是如何在中间选项卡启动应用程序..但是,这个错误是在我身上..是否有可能你可能知道在中间选项卡中打开的答案.. – Bagge

+0

@Bagge当然,你怎么做viewPager.setCurrentItem(1); ? – AmmarCSE

+0

工作就像一个魅力..非常感谢您的帮助:D – Bagge