我正在使用Fragment
课程和TabLayout
ViewPager
来实施滑动标签。
我有3个java类:
(OneFragment扩展了Fragment,TwoFragment扩展了Fragment,ThreeFragment扩展了Fragment,MainActivity扩展了AppCompatActivity)
此外,我为所有这些类提供了4个不同的xml文件。实际上,我根据this tutorial
设计了我的代码现在我想在用户在标签之间切换时收听。例如,当用户将第一个选项卡转到第二个选项卡时,我希望执行此选项:
Toast t = Toast.makeText(getActivity(),"You are exit from 1st tab", Toast.LENGTH_LONG);
t.show();
或者当用户从2转到第1或第3个标签时,应执行此操作:
Toast t = Toast.makeText(getActivity(),"You are exit from 2nd tab", Toast.LENGTH_LONG);
t.show();
有趣的是,我无法为TabLayout
提供任何答案,尽管Tabhost
有几十个答案。
如何设计我的代码以了解"哪个标签正在更改,什么是以前的标签?"在TabLayout
?
注意:我用过,试图覆盖onDestroyView()
,onDestroy()
和onHiddenChanged()
,但我无法解决问题。只有onDestroy()
有效,但当用户退出应用程序时它也能正常工作。
答案 0 :(得分:1)
您需要为此实现TabLayout.OnTabSelectedListener
界面。
使用addOnTabSelectedListener
和removeOnTabSelectedListener
方法执行此操作。请注意,setOnTabSelectedListener
现已弃用。