我的代碼:的setText()在afterTextChanged()顯示相反的順序文本
fractionNumEt.addTextChangedListener(new TextWatcher() {
boolean ignoreChange = false;
@Override
public void afterTextChanged(Editable s) {
if(!ignoreChange) {
String string = String.valueOf(s);
if (string.length() > 2) {
string = string.substring(0, string.length() - 1);
ignoreChange = true;
fractionNumEt.setText(string);
ignoreChange = false;
}
}
}
....
我試圖限制字符長度2,但要保留聽力。當我輸入'1','2'時,它顯示「12」,這很好。現在當我輸入'3'時,它會寫入「31」而不是「23」。 這到底是怎麼回事! 我也試過:
string = string.substring(1, string.length());
在這種情況下,它的工作原理是第一次n只有再沒有什麼改變。
爲什麼你使用 String string = String.valueOf(s); –
忽略這一點,我只是與每一種可能性 – usman
戰鬥,你可以使用String string = s.toString(); –