从另一个 EditText 更改 EditText 中的文本 [关闭]

问题描述 投票:0回答:0

有人知道是否可以从另一个 EditText 更新一个 edittext 吗?当我尝试在 afterTextChanged 中使用文本观察器执行此操作时,我立即崩溃。好像找不到view了。因为 val EditText2 = findviewbyid(R.id.edit_text_2) 总是空的?这是在自定义 EditText 类中,而不是在 MainActivity onCreate 中。是否可以从另一个 EditText 的类中更改另一个 EditText 的文本?还是我必须找到另一种方法来做到这一点?

到目前为止:

尝试在自定义 EditText 类中的 afterTextChanged 中使用 setText。以崩溃结束,视图变量最终为空。

编辑:

我终于弄明白了,我遇到的问题是在所说的 EditText 的自定义类中,我将 finviewbyid(R.id.yadda) 放在类的开头,然后我将它移动到 init{ }.这就是问题所在,我将 var editText = findViewById(R.id.edit_text) 方式设置为早期,因此它始终为空,因为该视图甚至还没有构思。所以这是解决方案,以防万一其他人遇到此问题:

 override fun onAttachedToWindow() {
    super.onAttachedToWindow()
    // Get a reference to the EditText by ID
    val parentView = parent as? View // Keep this for safe null call just in case
    editText = parentView?.findViewById(R.id.edit_text)
}

我使用了 onAttachedToWindow() ,这是稍后让其他 EditText 有时间产生的方法。

感谢尝试的人,我知道没有包含代码是我的错,我相信有人会早点注意到我的错误。虽然我很高兴我没有这样做,因为它让我自己真正发现了问题,但更多地了解了对通货膨胀的看法过程以及一些无关的事情,这些事情确实帮助我解决了我的其他部分的问题。 =)

java android kotlin android-edittext
© www.soinside.com 2019 - 2024. All rights reserved.