我有多个不同的listView适配器。每个listView适配器都有一些editText。当用户编辑editText时,将显示软键盘。我想在用户点击BACK按钮时更新editText中的文本以关闭键盘。
为了更新信息,我需要知道哪个适配器类正在处理,editText正在编辑哪个位置,以及文本内容。
我搜索了所有可能的解决方案。有一个用于设置自定义editText类,并覆盖OnKeyPreIme
函数。这个解决方案无法获得我想要的所有信息。
请建议我拦截我可以在适配器类中实现的BACK按钮。或者我可以轻松获得我想要更新的信息。
答案 0 :(得分:0)
您可以use onBackPressed()
from the Activity
检测用户何时按下后退按钮。
不清楚你真正追求的逻辑是什么;但一般的模式是,当您捕获事件时,您应该能够评估EditText
可以访问的所有Activity
资源的状态。您可以使用setText()
和getText()
来确定您正在描述的定制功能。
当您按下后退按钮时,您可能需要确定软键盘是否打开;即,您是否希望更新字段。这个solution描述了这样做的有用机制。