Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Spinner onTouchListener when disabled


Автор: Anime 20.9.2013, 17:29
Существует некий spinner, в нем указано spinner.setEnabled(false). Как можно добраться до него?
Например когда я на него 1 раз нажимаю у него меняется spinner.setEnabled(true), нажимаешь второй раз выпадает список.

Когда ставишь spinner.setEnabled(false). через OntouchListener к нему не подобраться.
Пробывал определять его позицию, но там почему то всегда 0 пишет ( spinner.getLocationOnScreen и spinner.getLocationInWindow)

Автор: Vladus 14.10.2013, 13:46
а обязательно дизаблить спиннер? может стоит попробовать поставить кастомный стиль (имметирующий disable) через setBackgroundResource и при необходимости (после клика) вернуть первоначальный стиль?

Цитата

Пробывал определять его позицию, но там почему то всегда 0 пишет ( spinner.getLocationOnScreen и spinner.getLocationInWindow) 

я не уверен, но может быть вы пробуете вызывать эти методы до того, как форма "построилась"? Попробуйте делать это после того, как лейаут отрисовался, примерно вот так
Код

        spinner.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                ваши вычисления
            }
        });

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)