Android. Исправить код

Бюджет: по договоренности
Приветствую! Код ниже нужен для запуска run() – функции скрытия блока, когда клавиатура убирается с экрана (меняется высота экрана). Если клавиатура убирается (запускается run()) когда поле ввода потеряло фокус – это нормально, но если например мне позвонили и я находился в приложении – клавиатура тоже убирается и запускается run() – это не нормально. Потому что если по окончании вызова вернутся в приложение – блок будет скрыт. Нужно чтобы блок скрывался только при намеренном действии.


  final View activityRootView = findViewById(R.id.webView); // получаем ID лайота (нужно указать)
        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { // ставим "прослушку" на лайот
            private int lastHeight;// предыдущее значение высоты

            @Override
            public void onGlobalLayout() {
                if (lastHeight == 0) { // если не определено, то определить (1-ый вызов метода)
                    lastHeight = activityRootView.getHeight();
                }
                // проверка на то, что предыдущее значение меньше текущего
                // если разница более 100, то значит, была закрыта клавиатура
     if (lastHeight <> 100) {
                    WebView vw = (WebView) findViewById(R.id.webView);
                    vw.loadUrl("javascript:run()");
                }

                lastHeight = activityRootView.getHeight(); // установка предыдущего значения
            }


        });
Опубликован 06.01.2016 в 16:31

Выберите способ верификации:

Обновите страницу после прохождения верификации.