java - Android EditText 更改其他 EditText 值

标签 java android

当我编辑一个文本字段时,我希望另一个文本字段发生变化。

  editTextCount.addTextChangedListener( new TextWatcher( ) {

    @Override
    public void afterTextChanged( Editable arg0 ) {

      if ( arg0.length( ) == 0 ) {
        return;
      }

      editTextAmount.setText( value
          * Integer.parseInt( arg0.toString( ) )+""  );

    }

    @Override
    public void beforeTextChanged( CharSequence arg0, int arg1, int arg2,
        int arg3 ) {
      // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged( CharSequence arg0, int arg1, int arg2,
        int arg3 ) {
      // TODO Auto-generated method stub

    }

  } );

当我编辑 editTextCount 时,editTextAmount 应该改变,但没有任何反应。

编辑 - 另外,我忘了提及这是在自定义 ArrayAdapter 中。这可能是问题所在吗?

Edit2 - 我是个白痴。当我本应在 getView() 方法内声明 final EditText editTextAmount 时,我将 EditText editTextAmount 声明为类级变量。谢谢各位的帮助。您的回答将帮助我在未来的错误。

最佳答案

我认为您需要在 onTextChanged() 而不是 afterTextChanged() 中实现您的代码。来自docs :

This method is called to notify you that, within s, the count characters beginning at start have just replaced old text that had length before.


附带说明一下,您应该检查 parseInt 的输入在传递值之前。如果数字无效则抛出异常

关于java - Android EditText 更改其他 EditText 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282320/

相关文章:

java - Android ScrollView填充60%

java - 仅在不成对时更换

java - springboot 自动关机并自动重启。

java - Maven 怎么可能构建不在我的项目中的类?

android - 无法在 Cordova 中构建应用程序包 (.aab)?

Android 浏览器在后台模式下不支持带有 HTML5 音频的播放列表

java - Intellij IDEA HELP 控制台应用程序

android - 如何检测 TextView 的最后一个字符串包含 0 到 9

Android Logcat 旋转大小和旋转参数数量

java - 更新SDK后无法更新应用(应用未安装)