Android,两个互相影响的EditText如何避免死循环_code_world的博客-程序员宅基地

技术标签: android  

 twMt1 = new TextWatcher()
                            {

                                @Override
                                public void afterTextChanged(Editable s)
                                {
                                    edt2.addTextChangedListener(twMt2);
                                }

                                @Override
                                public void beforeTextChanged(CharSequence s, int start, int count, int after)
                                {

                                }

                                @Override
                                public void onTextChanged(CharSequence s, int start, int before, int count)
                                {
                                    edt2.removeTextChangedListener(twMt2);
                                    int deposite = Util.parseInt(s.toString());
                                    Float discount = (selectMt.getSalsePrice()*selectMt.getMtNum())*deposite/100;
                                    edt2.setText(Util.getDoubleTwoFloat(discount));

                                }

                            };

                            twMt2 = new TextWatcher()
                            {

                                @Override
                                public void afterTextChanged(Editable s)
                                {
                                   edt.addTextChangedListener(twMt1);

                                }

                                @Override
                                public void beforeTextChanged(CharSequence s, int start, int count, int after)
                                {
                                }

                                @Override
                                public void onTextChanged(CharSequence s, int start, int before, int count)
                                {
                                    edt.removeTextChangedListener(twMt1);
                                    Float discount = Util.parseFloat(s.toString());
                                    int deposite=0;
                                    if((selectMt.getSalsePrice()*selectMt.getMtNum())!=0f){
                                        deposite = (int) (discount/(selectMt.getSalsePrice()*selectMt.getMtNum())*100);
                                    }
                                    Log.i("info_out",deposite+"折扣率");
                                    edt.setText(deposite+"");

                                }
                            };



                            edt.addTextChangedListener(twMt1);
                            edt2.addTextChangedListener(twMt2);


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shenqi_sh/article/details/9412369

智能推荐

java 获取web项目中的文件路径_java获取web端上传文件路径-程序员宅基地

RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();HttpServletRequest request = (HttpServletRequest) requestAttributes.resolveReference(RequestAttributes.REFERENCE_REQU..._java获取web端上传文件路径

CentOS 5.5 (VE) Server Build - Django 1.3, Python 2.7-程序员宅基地

CentOS 5.5 (VE) Server Build - Django 1.3, Python 2.7This page was last modified on April 1, 2011, at 09:57.The (mt) Community Wiki is a collaborative project. Any (mt) Media Temple cust

面试问题:Spring中Bean 的生命周期_bean生命周期面试-程序员宅基地

Spring Bean生命周期执行流程在传统的 Java 应用中,Bean 的生命周期很简单,使用关键字 new 实例化 Bean,当不需要该 Bean 时,由 Java 自动进行垃圾回收。Spring 中 Bean 的生命周期较复杂,可以表示为:Bean 的定义 -> Bean 的初始化 -> Bean 的使用 -> Bean 的销毁。Spring 根据 Bean 的作用域来选择管理方式。对于 singleton 作用域的 Bean,Spring 能够精确地知道该 Bean 何时被_bean生命周期面试

VMware虚拟机用CommVault备份后快照无法整合的真相!-程序员宅基地

症状:突然有一天boss说CommVault的备份上面多了很多报错,内容是一些快照需要手动删除。查看了vcenter,确实有好几个虚机报错,提示:虚拟机需要整合快照。尝试:整合快照很简单啊!右键虚机->快照管理->整合。事实是,整合了n遍都提示失败,整合超时,整合超过最大尝试次数。快照管理器里面没有任何快照,但是浏览存储发现有很多快照没有被删掉!好气啊!CommVault的原厂工程师排...

JDK、JRE与JVM的区别与联系,简洁明了-程序员宅基地

JDK顾名思义就是Java开发工具包,是Sun Microsystems针对Java开发员的产品,是Java程序员通过Java语言编写程序所需的开发工具包,JDK包含了JRE,同时还包含了编译Java源码的编辑器Javac,还包含了很多Java程序调试和分析的工具:jconsole等工具软件。1、Java SE(J2SE),standard edition,标准版,是我们常用的一..._jd kj re和jvm的区别和联系

图像平均池化 利用pytorch对图像进行池化_平均池化图片-程序员宅基地

一. 池化简介 平均池化:将图片按照固定大小网格分割,网格内的像素值取网格内所有像素的平均值。 池化:使用均等大小的网格将图片分割,并求网格内代表值的过程。 池化是卷积神经网络(convolutional neural network)中非常重要的处理方式,能够有效地降低图像的维度。平均池化定义: 二. 将输入图像用4*4网格做平均池化..._平均池化图片

随便推点

5种常见的布局管理器_布局管理器的五种布局-程序员宅基地

1、FlowLayout------像水流一样依次进行排列 import java.awt.*;import javax.swing.*;public class TestFlowLayout { public static void main(String[] args) { JFrame frame = new JFrame("Hello");// 实例化窗体对象_布局管理器的五种布局

求多项式 1 - 1/2 + 1/3 - 1/4 + ... 前n项的值-程序员宅基地

Problem Description多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + …现在请你求出该多项式的前n项的和。Input输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n, n<1000),求该多项式的前n项的和。Output对于每个测试实例n,要求输...

Navicat实现云数据库与本地数据库之间的数据传输_navicat数据库互通_爱打羽球的码猿的博客-程序员宅基地

Navicat实现云数据库与本地数据库之间的数据传输目录Navicat实现云数据库与本地数据库之间的数据传输1、首先在接收端的数据库建立对应的数据库(若已有自动忽略)2、在Navicat 的上方菜单栏找到工具里的 数据传输3、选择对应数据库连接以及数据库4、结合个人需求选择对应的内容5、确定传输内容后,开始执行6、传输完成后,关闭即可7、查看对应数据库,无误即可1、首先在接收端的数据库建立对应的数据库(若已有自动忽略)2、在Navicat 的上方菜单栏找到工具里的 数据传输3、选择对应数据库连_navicat数据库互通

Java Date总结-程序员宅基地

在日常的程序中,我们经常会用到日期时间,常常会从字符串和日期进行转换,因此本文决定深入学习一下java的Date相关部分,我这里用的jdk是8. 一 java中的日期总述在编程中,一般涉及到日期的操作有三种:1日期的表示,2日期的转换,3日期的设定修改。 JAVA在jdk1.1 之前,Date类负责这三个功能。但是jdk1.1后,java把这三个功能分成了三个类,其中:

记录一下计算机专业毕业论文用到的在线网站_计算机论文网站_Januea的博客-程序员宅基地

记录一下计算机专业毕业论文用到的在线网站_计算机论文网站

Eloquent 多态关联详解 morphTo morphMany morphMap morphs-程序员宅基地

应用场景 开始,建一张文章表,一张评论表 。基本一对多关系,表结构如下posts id - integer title - string body - textcomments id - integer body - text post_id - integer但是,如果以后又多了页面, 图片,视频....., 哪怕是评论也可以有评论,但是总不...