我已经为我的建筑名称创建了一个吸气器,并希望更改字符串以替换与正则表达式不匹配的任何字符。但是,这样做时,每当我输入一个无效字符时,编辑文本的光标/选择位置就会更改为文本的开头。我可以避免这种情况发生吗?
private String buildingname="";
@Bindable
public String getBuildingname() {
return this.buildingname;
}
public void setBuildingname(String buildingname) {
if(!this.buildingname.equals(buildingname)) {
this.buildingname = buildingname.replaceAll(alphanumericregex,"");
this.pcr.notifyChange(this, com.tomtom.sangrahit.BR.buildingname);
}
}
您可以在设置新文本后使用setSelection
中的editText
myEditText.setText(myNewText);
myEditText.setSelection(myNewText.length());