Можем ли мы ограничить функциональность кнопки до заданных уровней? - PullRequest
0 голосов
/ 03 сентября 2010

Я борюсь с аппаратной кнопкой Android, теперь мой вопрос к вам, могу ли я ограничить его функциональность до 3 или 4 уровней?

прямо сейчас, например, у меня есть 1,2,3,4,5,6,7,8,9,10 действий

я перехожу на 1, затем на 2, затем на 3 .... до 10 и начинаю нажимать кнопку

, меня переводят на 9, затем на 8, затем на 7, до.end

я хочу отслеживать только последние три уровня, возможно это или нет?

любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Я хочу отслеживать только последние три уровня, возможно это или нет?

Вы можете вести подсчет, возможно, используя целое число. Используйте onBackPressed() (Android 2.x) и onKeyDown() (Android 1.x) для обнаружения нажатий кнопки НАЗАД. Если вы подключитесь к суперклассу, произойдет обычная обработка BACK. Если вы не подключитесь к суперклассу, обычная обработка BACK не произойдет.

Теперь имейте в виду, что пользователь может нажимать другие клавиши, например HOME, или пользователь может ответить на уведомление (например, входящее текстовое сообщение). В этих случаях возможно, что ваши показатели могут быть не синхронизированы с фактической пользовательской навигацией. Поэтому я призываю вас найти другой шаблон пользовательского интерфейса, который не включает искусственное ограничение кнопки «НАЗАД» между действиями в соответствии с тем, как вы здесь изложили.

0 голосов
/ 22 ноября 2010

Это пример кода для ответа CommonsWare "onKeyDown () (Android 1.x)"

public boolean onKeyDown( int keyCode, KeyEvent event ) {


    if (keyCode == KeyEvent.KEYCODE_BACK ) {
      //do some stuff
      return false;
    }

    return super.onKeyDown(keyCode, event);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...