2016-08-05 4 views
1

Entschuldigung, ich spreche nicht fließend Englisch. Ich möchte das Startfragment im Tab-Layout ändern. Es gibt einen Wert aus einer anderen Aktivität, die mit Absicht gegeben hat. Ich möchte nur das Layout des Tab-Layouts mit meiner Auswahl starten.Wie setze ich den Start Tab im Tab Layout mit Toolbar?

Dies ist Haupttätigkeit der onCreate()

public class MainActivity extends AppCompatActivity { 

    private SectionsPagerAdapter mSectionsPagerAdapter; 
    private ViewPager mViewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     // Create the adapter that will return a fragment for each of the three 
     // primary sections of the activity. 
     mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 
     // Set up the ViewPager with the sections adapter. 
     mViewPager = (ViewPager) findViewById(R.id.container); 
     mViewPager.setAdapter(mSectionsPagerAdapter); 

     TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
     tabLayout.setupWithViewPager(mViewPager); 

    } 

Und das ist der Code in Fragmente der Änderung

public class SectionsPagerAdapter extends FragmentPagerAdapter { 

     public SectionsPagerAdapter(FragmentManager fm) { 
       super(fm); 

     } 

     @Override 
     public Fragment getItem(int position) { 
      switch(position) 
      { 
       case 0: 
        return new TotalFragment(); 
       case 1: 
        return new StatsFragment(); 
       case 2: 
        return new FeedbackFragment(); 
       case 3: 
        return new ManageFragment(); 
      } 
      return null; 
     } 

     @Override 
     public int getCount() { 
      return 4; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      switch (position) { 
       case 0: 
        return "TOTAL"; 
       case 1: 
        return "STATS"; 
       case 2: 
        return "FEEDBACK"; 
       case 3: 
        return "MANAGE"; 
      } 
      return null; 
     } 
    } 
} 

Antwort

1
mViewPager.setCurrentItem({index you want}, true); 
3

Jisu Lee, können wir den Start-Registerkarte in Registerkarte Layout mit Hilfe eingestellt von setCurrentItem() an viewpager. Wir können es durch zwei Arten einstellen:

Beispiel: 1. Einfache Einstellung tab:

Explation: Stellen Sie die aktuell ausgewählte Seite. Wenn der ViewPager mit seinem aktuellen Adapter bereits das erste Layout durchlaufen hat, wird ein sanfter animierter Übergang zwischen dem aktuellen Element und dem angegebenen Element stattfinden.

viewPager.setCurrentItem(1); 

2. Für enableing Smooth:

Secand Parameter "True" glatt an der neuen Sache zu blättern, "false" sofort

viewPager.setCurrentItem(1, true); 

Übergangs- oder Um das CurrentItem zu bekommen, haben wir: viewPager.getCurrentItem();

Es gibt den Startregisterindex (int) zurück.

Verwandte Themen