您的位置:首页 > 编程语言 > Java开发

TextWatcher 出现 java.lang.StackOverflowError 的解决有关问题

2012-10-17 23:58 796 查看
TextWatcher 出现 java.lang.StackOverflowError 的解决问题

使用TextWatcher 的时候,

class MonthlyQuotaTextWatcher implements TextWatcher{

@Override

public void afterTextChanged(Editable s) {

String str = quotaEditText.getText().toString().trim();

int length = str.length();

if(length > 1){

String st = str.substring(0, 1);

if( length > 1 && st.equals("0") ){

quotaEditText.setText("0");

}

}

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

}

@Override

public void onTextChanged(CharSequence s, int start, int before,

int count) {

}

}

其中 quotaEditText.setText("0");

会出现 java.lang.StackOverflowError 的问题。因为quotaEditText.setText("0");

本身就会回调监听器,】

解决办法:在回调方法afterTextChanged里面加判断条件,例如if(length > 1) if(length > 1) 当满足条件的时候在quotaEditText.setText("0");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: