如何从子片段中选择下一个选项卡
问题描述:
当需要从子片段中单击按钮时,需要切换下一个选项卡。如何从子片段中选择下一个选项卡
这是我的设置选项卡中的父母,
TabAdapter adapter;
private void setUpTabs(ViewPager viewPager) {
adapter = new TabAdapter(getSupportFragmentManager());
adapter.addFragment(new FirstTabFragment(), "First Tab");
adapter.addFragment(new SecondTabFragment(), "Second Tab");
viewPager.setAdapter(adapter);
}
而且我TabAdapter
类,
public class TabAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public TabAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
我如何创建切换选项卡里面父
TabLayout myTabs= (TabLayout) findViewById(R.id.my_tabs);
Button chkBtn = (Button) findViewById(R.id.check_button);
chkBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewPager.setCurrentItem(1);
}
});
切换的方法父类中的选项卡正常工作。但我怎么能在FirstTabFragment
里面做同样的事,请帮帮我。
答
只是为了让你的用户界面更加互动和好看,我要分享我实现。
只要从片段的java文件访问您的viewPager
,请在您的父级活动中声明您的viewPager
。
public static ViewPager viewPager;
然后在片段按钮的onClick
方法或onClickListener
,你可以用这个。
ParentActivity.viewPager.arrowScroll(View.FOCUS_RIGHT);
这将平滑滚动你的viewpager
到第二个片段,是的,如果你想从滚动直接可以禁用viewPager的滚动限制用户,阅读here。
您也可以重点转移到左边,如果用户想通过刚才
ParentActivity.viewPager.arrowScroll(View.FOCUS_LEFT);
回去FirstFragment
是的,它的工作,因为我第一次测试发帖应答之前,我傻。
答
设置当前选定的页面。 `
示例代码
chkBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewPager.setCurrentItem(2);
}
});
答
你应该叫
viewPager.setCurrentItem(fragmentIdex);
谢谢!它帮助了我。我做了一个编辑问题。可以请你帮忙, – ChyperX
@ user8595331当然你可以解释更多 –