【问题标题】:EditText loses focus onTextChangeEditText 失去对TextChange 的关注
【发布时间】:2017-01-31 10:39:06
【问题描述】:

我正在开发一个使用 Anvil 和 Kotlin 构建的 Android 应用程序,目前我有一个 RecyclerView 呈现用户应该可以编辑的键值对列表。为了保存这些编辑,我添加了一个onTextChanged 监听器,如下所示:

textInputLayout {
  size(MATCH, WRAP)
  /* ommitted style attributes */

  editText {
    size(MATCH, WRAP)
    /* ommitted style attributes */
    init {
      text(getPropertyValue(item))
      onTextChanged { onPropertyChange(item.first, it.toString()) }
    }
  }
}

在上面的示例中,item 的类型为 Pair<String, Property>,其中 Property 是一个自定义对象,它提供有关格式类型(字符串、日期、数字等)的信息,getPropertyValue 调用具有签名getPropertyValue(item: Pair<String, Property>): String。

由于某种原因,每次我输入文本字段时都看不到任何变化但失去焦点。 onTextChanged 监听器肯定会被调用,因为当它执行时,我可以看到 onPropertyChange 生成的更新值被记录到控制台。

我已经尝试了here 列出的解决方案,但无济于事。有人有其他建议吗?卡在这个问题上一段时间了。

【问题讨论】:

    标签: android kotlin


    【解决方案1】:

    这似乎是 Anvil 中的一个错误,因为使用 Android 的 onTextChanged 实现可以正常工作。关闭它,我会在他们的仓库中提交一个错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2019-04-02
      • 2022-01-23
      • 2013-03-17
      • 2019-10-15
      • 2015-04-08
      • 2014-03-17
      相关资源
      最近更新 更多