Desativar temporariamente / dinamicamente uma única página no Viewpager

Eu tenho um FragmentPagerAdapter estendido que fornece três fragmentos para um ViewPager, fornecendo três páginas nas quais posso deslizar ou usar as guias adicionadas à barra de ação para escolher manualmente uma página.

Gostaria de desativar temporariamente o acesso do usuário à página final (uma solução mais generalizada para desativar qualquer página específica também seria interessante, mas não necessária) com qualquer tipo de navegação. Vou reativar o acesso deles com um retorno de chamada de um dos fragmentos.

Eu li as respostas para algumas perguntas semelhantes sobre não permitir o deslizamento, substituindo onTouchEvent e onInterceptTouchEvent e, em seguida, usando alguma detecção de gesto personalizada nessas, ou até meia solução usando beginFakeDrag ().

Minha solução atual simplesmente define uma contagem menor de itens no adaptador, certificando-se de usar notifyDataSetChanged () e altera novamente quando necessário. Existem alternativas elegantes para essas abordagens, talvez uma que não exija a alteração do conjunto de dados?

Também vejo que o ActionBar.Tab não tem um método setEnable () e a maioria sugere apenas remover a guia. Existe uma maneira de manter uma guia visível, mas não selecionável? Minha abordagem foi definir qual guia está desabilitada e selecionar novamente a guia selecionada anteriormente se o usuário selecionar a desabilitada.

Editar: O meu objetivo é desativar as guias e passar para a última página.

questionAnswers(1)

yourAnswerToTheQuestion