0
超新的编码。我遵循了关于创建制表符和片段的教程。我的应用程序现在在工具栏上有3个选项卡,点击后它们将更改为各自的布局。我想现在添加一个按钮,将我带到这些布局而不是使用工具栏,所以我可以将它移动并放置在我想要的位置。使用按钮更改选项卡视图
这是我在我的MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSectionsPageAdapter = new SectionsPageAdapter(getSupportFragmentManager());
//Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
setupViewPager(mViewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
}
private void setupViewPager(ViewPager viewPager) {
SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
adapter.addFragment(new Main2Activity(), "TAB1");
adapter.addFragment(new Main3Activity(), "TAB2");
adapter.addFragment(new Main4Activity(), "TAB3");
viewPager.setAdapter(adapter);
}
于是我加入这个代码的按钮。在我的XML中,我将按钮放在容器ID上方,以便始终可以看到它。理想情况下,我有3个按钮,每个按钮放入容器ID Main2Activity,Main3Activity和Main4Activity。这里只是一个按钮,因为我试图弄清楚如何让视图发生变化。
public void onClickBtn1(View v){
FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, new Main2Activity());
ft.commit();
}
这也是我的SectionsPageAdapter页面,如果它有帮助。
public class SectionsPageAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
public SectionsPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
}
在此先感谢!