Android OnLongClickListener странное / ненадежное поведение

В настоящее время я борюсь против OnLongClickListener на Android Api Lvl 8.

Возьми этот код:

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

Работает отлично. Я могу нажать в любом месте на WebView, и событие каждый раз срабатывает.

Теперь взгляните на это:

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;
        }
    }
});

Предполагая, что компоненты EditText URL в настоящее время видимы, они исчезают с экрана и должны отображаться снова при запуске другого события длинного щелчка. Но если вы запустите это, событие срабатывает только один раз (!), Когда вы выполняете длинный щелчок по любой позиции в WebView. Чтобы усложнить задачу, длинный щелчок снова работает, когда он выполняется по ссылке на веб-сайте ...

Может кто-нибудь объяснить, если это ошибка в SDK и / или есть ли ошибка в моих мыслях, как работает OnLongClickListener?!? : /

РЕДАКТИРОВАТЬ:

Я запустил несколько различных сценариев на Nexus One и пришел к следующему выводу: изменение макета во время выполнения более или менее убивает OnLongClickListener ... Я не нашел способа заставить его работать надежно вообще ...

Я был бы очень признателен, если бы кто-нибудь мог дать мне подсказку ... Я в своем уме :(