Разницу (или ее отсутствие) можно найти в документации.
void setOnKeyListener(View.OnKeyListener)
- это метод в представлении.
С документация :
Зарегистрируйте обратный вызов, который будет вызываться при нажатии клавиши в этом представлении.
void setKeyListener(KeyListener)
- это метод в TextView.
С документация:
Устанавливает ключевой слушатель, который будет использоваться с этим TextView. Это может быть нулевым, чтобы запретить ввод данных пользователем. Обратите внимание, что этот метод имеет значительные и тонкие взаимодействия с программными клавиатурами и другим методом ввода: важные детали см. KeyListener.getContentType()
. Вызов этого метода заменит текущий тип содержимого текстового представления на тип содержимого, возвращаемый слушателем ключа.
Имейте в виду, что если вы хотите, чтобы TextView с ключевым слушателем или методом перемещения не был фокусируемым, или если вы хотите, чтобы TextView без ключевого слушателя или метода перемещения был фокусируемым, вы должны снова вызвать setFocusable (boolean) после вызова это, чтобы вернуть фокусировку так, как вы хотите.