当从子片段中单击按钮时,我需要切换下一个选项卡.
这是我在父母中设置标签的方式,
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); }}
我创建了一个在Parent中切换制表符的方法
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.
如果用户想要仅返回FirstFragment,您也可以将焦点移至左侧
ParentActivity.vIEwPager.arrowScroll(VIEw.FOCUS_left);
是的,它在我发布答案之前首先进行测试,愚蠢的我.
总结以上是内存溢出为你收集整理的android – 如何从子片段中选择下一个选项卡全部内容,希望文章能够帮你解决android – 如何从子片段中选择下一个选项卡所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)