Topic: Клавиатура и аппаратные кнопки

Обсуждаем статью Клавиатура и аппаратные кнопки

Re: Клавиатура и аппаратные кнопки

Привет. Спасибо. А есть инфа как кнопками управлять если приложение свернуто и процесс живет?

Re: Клавиатура и аппаратные кнопки

Лично у меня не сработали методы описанные в статье чтобы спрятать клавиатуру. Поиск в интернете показал еще вариант, который у меня работает: в onCreate() добавляется getWindow().setSoftInputMode() :

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
              getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}

Re: Клавиатура и аппаратные кнопки

Поправочка к "Кнопка Back: Вы уверены, что хотите выйти из программы?"
У меня приведенный код не сработал, в том смысле, что не скомпилировался. Чтобы все заработало, пришлось вместо
quitDialog.setPositiveButton("Таки да!", new OnClickListener() {
поставить
quitDialog.setPositiveButton("Таки да!", new DialogInterface.OnClickListener() {
И аналогично несколькими строчками ниже

Re: Клавиатура и аппаратные кнопки

Это старый код от Эклипса, который импортировал немного по-другому.

Re: Клавиатура и аппаратные кнопки

Если не убрать блок:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // Обработайте нажатие, верните true, если обработка выполнена
    return false;
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    // Обработайте отпускание клавиши, верните true, если обработка выполнена
  return false;
}

Кнопка назад работать не будет. Глупая ошибка с моей стороны конечно, но я час не мог понять почему не работает.

Re: Клавиатура и аппаратные кнопки

Подскажите как обработать "убирание" клавиатуры кнопкой "назад".

8 (edited by mkey2 2017-10-08 19:57:31)

Re: Клавиатура и аппаратные кнопки

Здравствуйте!
Сильно не пинайте, только пробую создать программу для Андроид.
Прочитав данную статью пытаюсь использовать обработчик OnKeyListener элемента EditText.
В общем собрал конструкцию c событием ACTION_UP:

editText.setOnKeyListener(new View.OnKeyListener()
        {   public boolean onKey(View v, int keyCode, KeyEvent event)
            {   if(event.getAction() == KeyEvent.ACTION_UP)
                {   //какие-то действия
                    return true;}
                return false;}
        });

На эмуляторе работает как нужно, по событию действия выполняются по каждому введенному знаку с экранной клавиатуры в EditText.
Но когда собираю apk, устанавливаю на телефон то программа работает не правильно, при вводе в EditText ничего не происходит, как будто события нет, чтобы код выполнился необходимо нажать "Далее" (или "Готово").

Эмулируется андроид 6.0, на телефоне тоже 6.0.

Почему может такое происходить?