[使用Android中的数据绑定保留编辑文本光标的位置

问题描述 投票:0回答:1

我已经为我的建筑名称创建了一个吸气器,并希望更改字符串以替换与正则表达式不匹配的任何字符。但是,这样做时,每当我输入一个无效字符时,编辑文本的光标/选择位置就会更改为文本的开头。我可以避免这种情况发生吗?

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);
    }
}
android android-edittext android-databinding
1个回答
0
投票

您可以在设置新文本后使用setSelection中的editText

myEditText.setText(myNewText);
myEditText.setSelection(myNewText.length());
© www.soinside.com 2019 - 2024. All rights reserved.