0
我試圖讓EditText有一個數字,當用戶鍵入一個數字時 - 將使用正則表達式模式自動添加逗號。
這是我已經試過:將EditText的值設置爲其自己的值,修改 - 導致凍結
input.addTextChangedListener(new TextWatcher() {
...
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (input.getText().toString().length() >= 4)
input.setText(addComma(input.getText().toString()));
}
...
}
addComma(字符串):
public String addComma(String number) {
return number.replace(",", "").replaceAll("\\B(?=(\\d{3})+(?!\\d))", ",");
}
當輸入與4位的數字 - 該應用程序被凍結,一段時間後崩潰。
因爲你改變在'onTextChanged()'事件的文本。這將循環遞歸直到**堆棧溢出** s。 –