对不起,我的英语不流利。 我想在标签布局中更改起始片段。 来自另一个活动的值有意图。 所以我只想用我的选择开始标签布局的片段。
这是主要活动的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);
}
这是改变片段
的代码 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;
}
}
}
答案 0 :(得分:3)
Jisu Lee,我们可以在setCurrentItem()的帮助下将选项卡布局中的起始选项卡设置为viewpager。 我们可以设置两种类型:
示例: 1. 简单设置标签:
说明:设置当前选择的页面。如果ViewPager已经通过其当前适配器的第一个布局,则当前项和指定项之间将存在平滑的动画过渡。
viewPager.setCurrentItem(1);
2. 启用smoothScroll:
Secand参数“True”可以顺利滚动到新项目“false”立即转换
viewPager.setCurrentItem(1, true);
或者为了获得CurrentItem,我们有: viewPager.getCurrentItem();
它将返回起始标签索引(int)。
答案 1 :(得分:1)
mViewPager.setCurrentItem({index you want}, true);