editText.setKeyListener(this)和editText.setOnKeyListener(this)之间的主要区别是什么?
答案 0 :(得分:6)
对于一般用途,您应该坚持addTextChangedListener来听取文字更改。如果使用不当,更改关键侦听器将影响EditView
的工作方式。
答案 1 :(得分:1)
可以在文档中找到差异(或缺少差异)。
void setOnKeyListener(View.OnKeyListener)
是View上的一种方法。
注册在此视图中按下某个键时要调用的回调。
void setKeyListener(KeyListener)
是TextView上的一种方法。
设置要与此TextView一起使用的键侦听器。这可以为null以禁止用户输入。请注意,此方法与软键盘和其他输入法具有显着且微妙的交互:有关重要细节,请参阅
KeyListener.getContentType()
。调用此方法将使用键侦听器返回的内容类型替换文本视图的当前内容类型。请注意,如果您希望带有键侦听器或移动方法的TextView不可聚焦,或者您希望没有键侦听器或移动方法的TextView可以聚焦,则必须在调用后再次调用setFocusable(boolean)这样就可以按照你想要的方式恢复可聚焦性。