pressed focused next button

155
13 февраля 2018, 07:38

В приложении на Android использую 10 кнопок и фокус при нажатии на кнопку.

Если я выбираю кнопку 1, она становится в фокусе, если я выбираю кнопку 2, то уже две кнопки в фокусе. Мне нужно поочерёдно выводить кнопки в фокус, то-есть, если я выбираю кнопку 2, то у первой фокус пропадает, а у второй появляется.

Код для кнопок:

View.OnTouchListener list = new View.OnTouchListener() {
    public boolean onTouch(View view, MotionEvent event {
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            view.setPressed(true);
            switch (view.getId()) {
                case R.id.bt0:
                    break;
                case R.id.bt1:
                    break;
                case R.id.bt2:
                    break;
                ...............
            }
        }
        return true;
    }
};  
Answer 1

Попробуйте так

создайте метод в котором будете снимать фокус с требуемых кнопок

private void removeFocuseAllButton(){
      //например так (можно лист перебрать в цикле)
      //(или проверять, если есть фокус - снимать)
    button1.clearFocus();
    button2.clearFocus();
    button3.clearFocus();
    ...
    //10 кнопок думаю не проблема пробежать (:
   }

в слушателе после события вызываете этот метод, далее как у вас задумано

View.OnTouchListener list = new View.OnTouchListener() {
    public boolean onTouch(View view, MotionEvent event {
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            removeFocuseAllButton();//здесь удаляем везде фокус
            view.setPressed(true);
            switch (view.getId()) {
                case R.id.bt0:
                    break;
                case R.id.bt1:
                    break;
                case R.id.bt2:
                    break;
                ...............
            }
        }
        return true;
    }
};
READ ALSO
На чем собрать web проект Java? [требует правки]

На чем собрать web проект Java? [требует правки]

Добрый деньНа носу веб проект

188
Сравнение всех полей двух классов

Сравнение всех полей двух классов

У меня в классе куча полей и каждый раз писать такого рода проверки кажется мне не правильным, вот:

174
Авторизация Retrofit 2

Авторизация Retrofit 2

Добрый день помогите разобраться с кодомХочу получить данные с сервера в формате JSON

257
Область определения для generic'а

Область определения для generic'а

Подскажите как можно задать область определения типа generic'a при создании объекта?То есть в угловых скобках я могу вписать на пример только...

214