3 回答

TA贡献1850条经验 获得超11个赞
您还需要将侦听器设置为 edt2
edt2.addTextChangedListener(this);
只需更换
@Override
public void afterTextChanged(Editable editable) {
if(edt1.getText().hashCode() == editable.hashCode()){
if (edt1.length() == 2) {
edt2.requestFocus();
}
}
else if( edt2.getText().hashCode() == editable.hashCode()){
if (edt2.length() == 2) {
edt3.requestFocus();
}
}
}

TA贡献1810条经验 获得超4个赞
XML 文件没有问题。只需在 MainActivity.java 中尝试以下代码
将 TextChangedListener 添加到第二个编辑文本
edt2.addTextChangedListener(this);
在 textwatcher 的 onTextChanged 方法中插入以下代码
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(edt1.hasFocus())
{
if(edt1.getText().toString().length()==2) //size as per your requirement
{
edt2.requestFocus();
}
}
if(edt2.hasFocus())
{
if(edt2.getText().toString().length()==2) //size as per your requirement
{
edt3.requestFocus();
}
}
}
@Override
public void afterTextChanged(Editable editable) {
}
我希望这个答案能解决你的问题:)

TA贡献1772条经验 获得超6个赞
XML 文件没有问题。只需在 MainActivity.java 中尝试以下代码
将 TextChangedListener 添加到第二个编辑文本
edt2.addTextChangedListener(this);
在 textwatcher 的 onTextChanged 方法中插入以下代码
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(edt1.hasFocus())
{
if(edt1.getText().toString().length()==2) //size as per your requirement
{
edt2.requestFocus();
}
}
if(edt2.hasFocus())
{
if(edt2.getText().toString().length()==2) //size as per your requirement
{
edt3.requestFocus();
}
}
}
@Override
public void afterTextChanged(Editable editable) {
}
我希望这个答案能解决你的问题:)
添加回答
举报