O fullScroll de NestedScrollView (View.FOCUS_UP) não está funcionando corretamente

Eu tenho um NestedScrollView preenchido com um LinearLayout vertical, que em si possui vários filhos de vários tipos de exibição: vários TextViews, dois GridViews estáticos e até um FrameLayout para mostrar um fragmento abaixo de tudo isso.

Ao pressionar o botão Voltar, se o usuário rolou abaixo de um certo ponto, em vez de concluir a Atividade, o método "scrollToTop" é chamado:

public static void scrollToTop(final NestedScrollView scrollview) {
    new Handler().postDelayed(new Runnable() {
        public void run() {
            scrollview.fullScroll(NestedScrollView.FOCUS_UP);
        }
    }, 200);
}

Isso funciona na versão anterior do meu aplicativo, que está na Play Store. Mas agora, depois de atualizar meu aplicativo para direcionar o Android Oreo (e atualizar a biblioteca de suporte para a versão 26.0.2), em vez de rolar para o topo, parece começar a rolar abaixo da posição de rolagem original do NestedScrollView e parar onde estava. Então, isso apenas aparece como uma gagueira estranha. Em algumas posições, no entanto, ele rola para o topo (embora muito raramente e de maneira inconsistente), e outras, na verdade, rola para o fundo, pelo que não entendo.

Eu tenho experimentado a focabilidade da vista, sem sucesso. Por exemplo, eu li que os GridViews estáticos podem interromper o foco durante a rolagem. Também tentei vários métodos diferentes para rolar para cima, como

scrollview.pageScroll(View.FOCUS_UP);

e

scrollview.smoothScrollTo(0,0);

Mas nada parece funcionar. Há algo de errado com a biblioteca de suporte desta vez?

questionAnswers(4)

yourAnswerToTheQuestion