用户必须输入自己的手机号码,手机号码必须是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上的光标开始从文本的开始,我希望它仍然在最后,如何pelase?
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 pelase?
您有两种选择,两者都应该工作:
You have two options, both should work:
一)
editText.setText("Your text");
editText.setSelection(editText.getText().length());
B)
editText.setText("");
editText.append("Your text");
上一篇:如果使用的是Android库项目你怎么正确地引用XML资源?的是、你怎么、正确地、项目
下一篇:ActionBarSherlock,ViewPager,TabsAdapter嵌套的标签片段嵌套、片段、标签、ActionBarSherlock