如何调用虚方法' void android.view.View.setEnabled(boolean)'在null对象引用上

时间:2016-11-29 07:07:39

标签: android boolean android-tablayout

我需要在选项卡布局中禁用特定选项卡,但应用程序崩溃。

public void onTabSelected(TabLayout.Tab tab) {
    switch (tab.getPosition()){
        case 0: tabLayout.getChildAt(0).setEnabled(true);
                viewPager.setCurrentItem(tab.getPosition());
        case 2: tabLayout.getChildAt(2).setEnabled(true);
                viewPager.setCurrentItem(tab.getPosition());
    }
}

1 个答案:

答案 0 :(得分:0)

在我看来,你只是缺少break陈述。

public void onTabSelected(TabLayout.Tab tab) {
    switch (tab.getPosition()){
        case 0: tabLayout.getChildAt(0).setEnabled(true);
                viewPager.setCurrentItem(tab.getPosition());
                break;
        case 2: tabLayout.getChildAt(2).setEnabled(true);
                viewPager.setCurrentItem(tab.getPosition());
                break;
    }
}

错误似乎是0案例试图tabLayout.getChildAt(2),这是一个空对象引用。