无限循环错误EditText

2023-12-07

首先看我的代码:

这些都在我的活动中;

EditText text1,text2; (Are defined corretly not problem)
text1.addTextChangedListener(new MyTextWatcher(onePercent));
text2.addTextChangedListener(new MyTextWatcher(twoPercent));
..                                   ..
..                                   ..
..                                   ..
private class MyTextWatcher implements TextWatcher {

    private View view; 

    private MyTextWatcher(View view) {
        this.view = view; 

    }

    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2)         {}
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) 
    {}


    public void afterTextChanged(Editable editable) {


        String text = editable.toString();
        switch(view.getId()){

        case R.id.dis_one_percent: (this is text1)
            if(!text.equel(""))             
               text2.setText(Double.toString(text));            

            break;
        case R.id.dis_one_number: (and text2)
            if(!text.equel(""))            
            text1.setText(Double.toString(text+"LOL"));                  


    }



    }
}

目标:当用户在text1区域中输入某个值时,我想触发text2区域。但是当用户在text1区域输入值时,text2的MyTextWatcher被触发。存在无限循环。我该如何解决这个问题?


当您更改文本时,您需要删除文本更改侦听器。

public void afterTextChanged(Editable editable) {
     text1.removeTextChangedListener(onePercent);
     text2.removeTextChangedListener(twoPercent);
    String text = editable.toString();
    switch(view.getId()){

    case R.id.dis_one_percent: (this is text1)
        if(!text.equel(""))             
           text2.setText(Double.toString(text));            

        break;
    case R.id.dis_one_number: (and text2)
        if(!text.equel(""))            
        text1.setText(Double.toString(text+"LOL"));                  
   }
   text1.addTextChangedListener(new MyTextWatcher(onePercent));
   text2.addTextChangedListener(new MyTextWatcher(twoPercent));

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无限循环错误EditText 的相关文章

随机推荐

  • 将转储文件导入到 oracle 11gr2 时出现错误

    将转储文件导入到 oracle 11gr2 时出现此错误 请提出解决此问题的方法 Warning the objects were exported by D7IDMP not by you import done in WE8MSWIN1
  • 如何将 Rust 数组转换为指针?

    我在谷歌上找不到简单的东西 如何将简单的 Rust 数组转换为指针 如何获取指向的指针 u8 3 我尝试做as mut u8但这是行不通的 Use as ptr or as mut ptr fn main let a u8 3 1 2 3
  • 重载集合[a, b] (a = b)

    我想重载 Mathematica 的 Set 函数 这对我来说太棘手了 请参阅下面的代码示例 我成功重载了其他函数 例如代码示例中的 Reverse 有什么建议么 In 17 ClearAll struct In 18 var1 struc
  • 以只读方式打开文件

    目前 这就是我打开文件来读取它的方式 using TextReader reader new StreamReader Path Combine client WorkLogFileLoc dump txt do stuff 如何以只读模式
  • 为什么我无法在 Windows 10 计算机中使用 HttpListener? (系统.PlatformNotSupportedException)

    WCF 运行服务器项目时出现 PlatformNotSupportedException这对我不起作用 Console WriteLine System Net HttpListener IsSupported false Code Htt
  • 根据对象字段对 ArrayList 进行排序 [重复]

    这个问题在这里已经有答案了 可能的重复 对联系人数组列表进行排序 我正在存储DataNode中的对象ArrayList The DataNode类有一个名为的整数字段degree 我想找回DataNodeNodeList 中的对象按升序排列
  • 如何在 XSLT 1.0 中执行 for-each-group 而无需键/Muenchian 分组

    我目前正在使用 XSLT 并尝试按属性的子字符串对节点进行分组 唯一的问题是我在无法使用 xsl key 的环境中工作 我想知道对诸如以下内容进行分组的最佳方法
  • div 没有正确从左向右移动

    下面是我的代码片段 我用它来将 div 从左向右移动 https jsfiddle net nf6pqbr0 1 u go click function var stop stopdiv offset left var obj docume
  • 如何使用 Node.js 在 MongoDB 中使用cursor.forEach()?

    我的数据库中有大量文档 我想知道如何遍历所有文档并更新它们 每个文档都有不同的值 答案取决于您使用的驱动程序 我知道的所有 MongoDB 驱动程序都有cursor forEach 以一种或另一种方式实施 这里有些例子 节点 mongodb
  • 将图像水平居中在闪亮的 FluidRow 中

    是否可以在闪亮的 ui FluidPage 中将三个图像排成一行居中 并将每个图像的宽度固定为 300px 要得到 我的一个想法是使用 splitLayout 并以某种方式插入图像作为窗口宽度的函数 但我不确定如何实现这一点 我知道您可以使
  • java.lang.OutOfMemoryError:在 OOM 之前无法分配分配

    实际上 我正在尝试创建一个包含 n 个多媒体文件的应用程序 其中包括图像和视频 我的应用程序大小约为34MB 我的资产规模约为60mb 当我在普通设备中加载应用程序时 我们没有遇到任何问题 但是具有2K resolutions例如Nexus
  • 如何使用“findstr”匹配IP地址?或者 Windows 中任何其他批处理方法

    正如标题所说 我想在windows中批量匹配ip地址 请告诉我该怎么做 我看到 findstr 可以与正则表达式匹配 例如 0 9 但是 findstr 怎么能匹配它出现的情况一到三次 Since findstr的正则表达式支持有点 过时
  • 强制文件下载 PDF“打开方式”框显示它是 Firefox 文档?

    我正在尝试强制下载 PDF 文件 一切正常 唯一的问题是 当它显示 下载框 时 它说它是 Firefox 文档 实际上应该说 Adobe Acrobat 文档 查看图像 下面是我正在使用的代码 1 从gmail强制下载盒子 效果很好 2 从
  • 在 Matlab 中在网格上绘制 3D 条形图

    我有一个矩阵 A 包含 50 行和 4 列 并且条目填充有整数 我的兴趣是根据这些数据构建堆叠的 3D 条形图 但是 使用 bar3 A stacked 创建一行 50 个条形图 而我希望将这些条形图绘制在大小为 5 垂直 x 10 水平
  • Oct 文件在 Octave 3.6.4 或 4.0.0 下运行,但不能同时运行

    我安装了两个版本的 Octave 通过包管理器 Linux Mint Debian 安装的版本 3 6 4 以及从源代码编译的版本 4 0 0 我在 octaverc 文件指向的文件夹中还有许多 oct 文件 我的问题是 4 0 0 版本无
  • 使用列表理解的带有谓词的自定义过滤器函数

    我需要开发自己的过滤功能 类似于filter在 Haskell 中工作 但使用列表理解和谓词 所以我会放lcFilter gt 3 1 2 3 4 5 6 10 444 3 在 ghci 中 它会打印所有大于 3 的数字 我的代码基于我擅长
  • 使用自定义类作为 Q_PROPERTY

    我有两节课TestA and TestB TestA延伸QObject 我已经设置了一些Q PROPERTY就这样 Q PROPERTY QString a string READ getString WRITE setString Q P
  • 如何从链接列表中抓取 HTML 表格

    我正在尝试使用 XML 包抓取一些表 选举数据 浏览后 我发现如何使用以下方法抓取单个网址 library XML url lt http www elecciones2011 gob ar paginas paginas dat99 DP
  • 空手道框架语言支持[重复]

    这个问题在这里已经有答案了 是否可以使用 KARATE 框架编写 C 实用程序 我已经使用 Java 编写了用于自动化 API 的实用程序函数 但现在我想用 C 编写实用程序函数 有没有办法做到这一点 空手道实际上是语言中立的并且使用Ghe
  • 无限循环错误EditText

    首先看我的代码 这些都在我的活动中 EditText text1 text2 Are defined corretly not problem text1 addTextChangedListener new MyTextWatcher o