Comportamento estranho / não confiável do Android OnLongClickListener

Atualmente, estou lutando contra o OnLongClickListener no Android Api Nvl 8.

Pegue este código:

this.webView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        System.out.println("long click");
        return true;
    }
});

Funciona perfeitamente. Eu posso pressionar em qualquer lugar do WebView e o evento é acionado toda vez.

Agora dê uma olhada neste:

this.webView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        final EditText editText = getUrlTextField();

        switch (editText.getVisibility()) {
        case View.VISIBLE:
            editText.setVisibility(View.GONE);
            return true;
        case View.GONE:
            editText.setVisibility(View.VISIBLE);
            return true;
        default:
            return false;
        }
    }
});

Supondo que os componentes URL EditText estejam visíveis no momento, eles desaparecem da exibição e devem ser mostrados novamente quando outro evento de clique longo for acionado. Mas, se você executar isso, o evento funcionará apenas uma vez (!) Quando você executar um clique longo em qualquer posição no WebView. Para complicar as coisas, o clique longo funciona novamente quando é executado em um link no site ...

Alguém pode explicar se é um bug no sdk e / ou se há um erro no meu pensamento de como o OnLongClickListener está funcionando?!? : /

EDITAR:

Já executei vários cenários diferentes em um Nexus One e cheguei à seguinte conclusão: Alterar o layout no tempo de execução mata mais ou menos o OnLongClickListener ... Não encontrei uma maneira de fazê-lo funcionar de maneira confiável ...

Eu realmente apreciaria se alguém pudesse me dar uma dica ... Estou no meu juízo final :(

questionAnswers(1)

yourAnswerToTheQuestion