Добавление фокуса на счетчик - PullRequest
3 голосов
/ 30 августа 2011

Здесь у меня есть счетчик и несколько текстовых полей под счетчиком.когда одно из текстовых полей имеет фокус, я выбираю элемент из счетчика и вижу, что фокус все еще находится на этом текстовом поле. Теперь я хочу, чтобы при выделении элемента счетчика я хотел изменить фокус с этого текстового полявертушка.Есть ли способ установить фокус на спиннер? Например,

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        //set focus to the spinner 
            }
        }

Ответы [ 2 ]

7 голосов
/ 22 февраля 2013

У меня была похожая проблема, и я нашел часть ответа здесь .

Однако мне также пришлось установить focusable (true) и focusableInTouchMode (true) из моего кода, а неXML-файлЯ не мог заставить его работать, пока я не установил фокусируемые свойства в коде.Вот образец из моего проекта:

spinUoM.setFocusable(true);
spinUoM.setFocusableInTouchMode(true);

spinUoM.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if(hasFocus)
                DialogDefineRecipeActivity.this.spinUoM.performClick();
        }

    });
5 голосов
/ 01 сентября 2011

работал в моем случае, делая

    @Override
     public void onItemSelected(final AdapterView<?> parent, View view,
            final int position, long id) {

        parent.post(new Runnable() {
            @Override
            public void run() {
                spinner.requestFocusFromTouch();
            }
        });
    }
...