Java 从任意位置的edittext中删除最后添加的字符
我有一个edittext,我想将其限制为160个字符。如果用户键入了第161个字符,则需要显示警报。到目前为止,一切工作正常,我正在成功删除第161个字符。但它只删除最后一个字符,如果我在段落中输入161个字符,我想删除那个字符,而不是最后一个字符Java 从任意位置的edittext中删除最后添加的字符,java,android,string,substring,Java,Android,String,Substring,我有一个edittext,我想将其限制为160个字符。如果用户键入了第161个字符,则需要显示警报。到目前为止,一切工作正常,我正在成功删除第161个字符。但它只删除最后一个字符,如果我在段落中输入161个字符,我想删除那个字符,而不是最后一个字符 What i tried : Edt_txt_keyIn.getText().delete(length - 1, length); 最好使用TextWatcher: Edt_txt_keyIn.addTextChangedListene
What i tried :
Edt_txt_keyIn.getText().delete(length - 1, length);
最好使用TextWatcher:
Edt_txt_keyIn.addTextChangedListener(new TextWatcher() {
private int position;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
position = start;
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() > 160) {
Edt_txt_keyIn.setText(s.delete(position, position + 1));
}
}
});
或者,如果符合您的需要,您可以尝试使用android:maxLength=“160”maxLength不是问题。(“如果我在段落中输入第161个字符,我想删除该字符,而不是最后一个字符。”)这是我的问题