android how to set the EditText Cursor to the end of its text(android如何将EditText光标设置到其文本的末尾)
问题描述
用户必须输入他的手机号码,手机号码必须是10个号码,我使用TextWatcher
来做到这一点,像这样
The user has to enter his mobile number, the mobile number has to be 10 numbers, I used TextWatcher
to do that, like this
et_mobile.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if (et_mobile.getText().toString().length() > 10) {
et_mobile.setText(et_mobile.getText().toString()
.subSequence(0, 10));
tv_mobileError.setText("Just 10 Number");
}else{
tv_mobileError.setText("*");
}
}
});
但问题是当用户输入第11个数字时,edittext的光标从文本的开头开始,我希望它仍然在末尾,怎么办?
but the problem is when the user enters the 11th number, the cursor of the edittext starts from the beginning of the text, I want it to still at the end, how?
推荐答案
你有两个选择,都应该工作:
You have two options, both should work:
一)
editText.setText("Your text");
editText.setSelection(editText.getText().length());
b)
editText.setText("");
editText.append("Your text");
这篇关于android如何将EditText光标设置到其文本的末尾的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!