错误:类型不兼容:<匿名OnTabSelectedListener>无法转换为BaseOnTabSelectedListener

时间:2019-10-12 06:01:49

标签: java android android-tablayout material-components-android

升级后,我的库称为

implementation 'com.google.android.material:material:1.1.0-beta01'

到最新版本,它给我类似的错误

error: incompatible types: <anonymous OnTabSelectedListener> cannot be converted to BaseOnTabSelectedListener

我在Fragment中的代码

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
                                    @Override
                                    public void onTabSelected(TabLayout.Tab tab) {
                                        viewPager.setCurrentItem(tab.getPosition());
                                    }

                                    @Override
                                    public void onTabUnselected(TabLayout.Tab tab) {

                                    }

                                    @Override
                                    public void onTabReselected(TabLayout.Tab tab) {

                                    }
                                });

让我知道是否有人可以帮助我解决问题。 谢谢

2 个答案:

答案 0 :(得分:2)

更新并将setOnTabSelectedListener更改为addOnTabSelectedListener或使用以下代码

tabLayout.addOnTabSelectedListener(new OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });

答案 1 :(得分:0)

这里的错误非常有用。

您正在创建类型为TabLayout.OnTabSelectedListener的匿名类,该类不是 BaseOnTabSelectedListener,但是tabLayout.setOnTabSelectedListener需要一个BaseOnTabSelectedListener