从软键盘截取BACK按钮在listView适配器中

时间:2017-05-27 23:19:58

标签: java android listview keyboard back

我有多个不同的listView适配器。每个listView适配器都有一些editText。当用户编辑editText时,将显示软键盘。我想在用户点击BACK按钮时更新editText中的文本以关闭键盘。

为了更新信息,我需要知道哪个适配器类正在处理,editText正在编辑哪个位置,以及文本内容。

我搜索了所有可能的解决方案。有一个用于设置自定义editText类,并覆盖OnKeyPreIme函数。这个解决方案无法获得我想要的所有信息。

请建议我拦截我可以在适配器类中实现的BACK按钮。或者我可以轻松获得我想要更新的信息。

1 个答案:

答案 0 :(得分:0)

您可以use onBackPressed() from the Activity检测用户何时按下后退按钮。

不清楚你真正追求的逻辑是什么;但一般的模式是,当您捕获事件时,您应该能够评估EditText可以访问的所有Activity资源的状态。您可以使用setText()getText()来确定您正在描述的定制功能。

当您按下后退按钮时,您可能需要确定软键盘是否打开;即,您是否希望更新字段。这个solution描述了这样做的有用机制。