Android 达到maxLength后,如何将焦点更改为下一个EditText?
我的应用程序使用电话号码注册。因此,出于某些原因,我划分了电话号码输入。此外,我还为它们设置了maxLength。假设有两个editText,第一个限制为2个单位。输入2个单位后,应用程序应自动发送用户或将焦点更改为另一个EditText 试试这个:Android 达到maxLength后,如何将焦点更改为下一个EditText?,android,Android,我的应用程序使用电话号码注册。因此,出于某些原因,我划分了电话号码输入。此外,我还为它们设置了maxLength。假设有两个editText,第一个限制为2个单位。输入2个单位后,应用程序应自动发送用户或将焦点更改为另一个EditText 试试这个: edittext1.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start,int before, in
edittext1.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start,int before, int count)
{
// TODO Auto-generated method stub
if(edittext1.getText().toString().length()==size) //size is your limit
{
edittext2.requestFocus();
}
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
在java中:
editText1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if(editable.toString().length() == 2) {
editText2.requestFocus()
}
}
});
在科特林:
editText1.doOnTextChanged { text, start, count, after ->
if(count == 2) {
editText2.requestFocus()
}
}
谢谢,但是另一个答案有更多的信息,所以我检查了那个答案,对不起。没问题@SardorAKayumovBro。你能告诉我怎么做吗。从edittext2到edittext1?主要问题是要将焦点设置在editText2的最后一个字符上。您只需使用addTextChangedListener方法将另一个TextWatcher设置为editText2,并在该TextWatcher的afterTextChanged方法中执行editText1.requestFocus when editable.toString.lenght==yourEditText2Size