单击或切换TabLayout

时间:2019-03-17 15:34:13

标签: android android-tablayout

我有TabLayout,带有2个标签。 我有以下代码:

mTabLayoutLogin.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
           //do something
        }
        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
           //do something else
        }

切换到标签页时,是否有办法知道用户单击了标签页还是故意切换到标签页的代码(例如此代码mTabLayoutLogin.getTabAt(1).select())?

谢谢

1 个答案:

答案 0 :(得分:0)

  1. (棘手的解决方案)您可以尝试合并覆盖Activity.dispatchTouchEvent(MotionEvent event)addOnTapSelectedListener方法,如果两者同时触发,则可能是由于用户单击而不是代码触发引起的。

从文档http://developer.android.com/reference/android/app/Activity.html#dispatchTouchEvent(android.view.MotionEvent)

  1. (优雅的解决方案)当从代码中调用时,也会触发一个标志(可能是布尔值)。