EditText:区分通过setText()或通过键盘输入更改的文本
||
我有一个
EditText
视图,该视图由我的代码中的and1ѭ编辑,并由用户通过(软/硬)键盘进行编辑,如果可能,还可以通过语音输入进行编辑。我想用普通用户输入以外的其他方式来处理代码输入:如果发生用户输入,则将触发内部事件。但是我不知道如何区分两者。以前-在仿真器上开发时-我使用onKeyDown()
方法捕获用户输入。但是,在真实设备上进行测试时,我发现ѭ2并不是从软键盘输入触发的。另外,尽管我认为这是次要的缺陷,但语音输入无法被识别。因此,该解决方案对我来说是没有选择的。
另一方面,有onTextChanged()
方法,但这是由setText()
和键盘输入触发的。那么,如何区分这两种方法,或者仅由用户输入来调用哪种方法,而在使用setText()
时不能区分,那么我可以覆盖它吗?
没有找到相关结果
已邀请:
5 个回复
缕嚏冻
方法返回
。对于硬键盘,我使用
。所有这些方法均被覆盖,并通过我的框架路由其输入,该框架处理文本输入并相应地更新View。这意味着,在所有这些被覆盖的方法中(ѭ11除外),都不会调用super方法,因为我自己更新了View。这样可以防止我的数据模型和视图之间的不一致。
提孺局缎
呕蹿尉
诞胃
。 像这样
广躺椽