【问题标题】:Intercept BACK button from soft keyboard When in listView Adapter在 listView 适配器中时从软键盘拦截 BACK 按钮
【发布时间】:2017-05-27 23:19:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java android listview keyboard back


    【解决方案1】:

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

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

    您在处理返回按钮按下时可能需要确定软键盘是否打开;即,您是否希望更新这些字段。这个solution 描述了一个有用的机制。

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2012-09-20
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      相关资源
      最近更新 更多