首页 / 操作系统 / Linux / Android 避免2个相互影响的 EditText 死循环
Android两个EditText同时设置TextChangedListener后,会使程序进入死循环,解决方法如下: etExchangeRateEn = (EditText) findViewById(R.id.etExchangeRateEn); etExchangeRateCn = (EditText) findViewById(R.id.etExchangeRateCn); twEN = new TextWatcher() { @Override public void afterTextChanged(Editable s) { etExchangeRateCn.addTextChangedListener(twCN); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { etExchangeRateCn.setText( "CN"); } }; twCN = new TextWatcher() { @Override public void afterTextChanged(Editable s) { etExchangeRateEn.addTextChangedListener(twEN); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { etExchangeRateEn.setText("EN"); } }; etExchangeRateEn.addTextChangedListener(twEN); etExchangeRateCn.addTextChangedListener(twCN);更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11