Android IME - 如何检测进入视图?
我正在尝试为 Android 操作系统编写一个自定义 IME。但是,我无法弄清楚如何检测用户何时输入例如EditText
。
我已经尝试覆盖 InputMethodService
的一些 on...()
方法,但无济于事。
该文档对我来说并不是特别有帮助,我很难理解 InputMethodService
类的描述。
I am trying to write a custom IME for the Android OS. However, I cannot figure out how to detect when the user is entering e.g. an EditText
.
I have already tried overriding some of the on...()
methods of InputMethodService
to no avail.
The documentation hasn't been particularly helpful to me here, I'm having a hard time understanding the description of the InputMethodService
class.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
TextWatcher
来了解用户何时正在将文本输入到 EditText 中。否则,对于任何其他视图,您应该能够覆盖onFocusChanged
方法。Use
TextWatcher
to find out when a user is entering text into an EditText. Otherwise, for any other view, you should be able to override theonFocusChanged
method.仅用于文档目的:我自己找到了答案。
当进入视图时,
InputMethodService
的onStartInput(EditorInfo attribute, boolean restarting)
方法被调用。如果EditorInfo
的InputType
为 != 0,则视图似乎是可编辑的。Just for documentation purposes: I found the answer myself.
When a view is entered, the
InputMethodService
'sonStartInput(EditorInfo attribute, boolean restarting)
method is called. If theEditorInfo
'sInputType
is != 0, the view is editable, it seems.