Android EditText OnKeyDown событие в XML - PullRequest
0 голосов
/ 30 октября 2011

Есть ли способ назначить событие OnKeyDown для EditText в XML?Я знаю, как сделать это в коде, но XML?

(на самом деле я не хочу захватывать нажатие 'enter' ... так что, может быть, есть более простой способ?)

Спасибо, Рон

Ответы [ 2 ]

2 голосов
/ 30 октября 2011

Насколько я знаю: нет, не существует «простого» способа записать его в XML.Вы можете захватить onClick только в формате xml.Поэтому, если вы ДОЛЖНЫ иметь его в XML, вы можете сделать следующее:

  1. Расширить EditText с помощью своего пользовательского класса.

затем

1.2.Определите ваши настраиваемые атрибуты для стилизации (например, «onKeyDown»).Посмотрите здесь как это сделать.Я предлагаю вам использовать строку в качестве значения.

1.3.Теперь сложная часть: вы должны использовать отражение, чтобы найти onKeyListener в действии и добавить его в качестве KeyListener в ваш пользовательский editText

ИЛИ

2.2, просто позвольте вашей Activity реализовать onKeyListener и привести данный контекств конструкторе вашего пользовательского EditText

1 голос
/ 30 октября 2011

Вы можете использовать android: imeOptions в xml, чтобы выбрать, как кнопка должна вести себя.

И вы можете переопределить кнопку следующим образом:

editText.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            /// Do stuff here
        }
    });
...