gpt4 book ai didi

java - 使用按钮更改选项卡 View

转载 作者:行者123 更新时间:2023-12-02 12:40:25 24 4
gpt4 key购买 nike

编码新手。我遵循了有关创建选项卡和 fragment 的教程。我的应用程序现在的工具栏上有 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 中。当我试图找出如何改变 View 时,这里只有 1 个按钮。

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();
}
}

提前致谢!

最佳答案

调用ViewPager#setCurrentItem单击以转到 View 页面适配器的列表/数组中的项目索引:

public void onClickBtn1(View v){
int gotoIndex = 0;
mViewPager.setCurrentItem(gotoIndex, /*smoothscrolling*/ true);
}

关于java - 使用按钮更改选项卡 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44955686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com