android按下enter键如何让光标跳到下一个edittext,Android:EditText回车跳到下一个输入框或登录...

创建一个工具类ViewUtil

在工具类中创建文本检查者

public static class JumpTextWatcher implements TextWatcher {

private EditText mThisView = null;

private View mNextView = null;

public JumpTextWatcher(EditText vThis, View vNext) {

super();

mThisView = vThis;

if (vNext != null) {

mNextView = vNext;

}

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override

public void afterTextChanged(Editable s) {

String str = s.toString();

if (str.indexOf("/r") >= 0 || str.indexOf("\n") >= 0) {

//如果发现输入回车符或换行符,替换为空字符

mThisView.setText(str.replace("/r", "").replace("\n", ""));

if (mNextView != null) {

//如果跳转控件不为空,让下一个控件获得焦点,此处可以直接实现登录功能

mNextView.requestFocus();

if (mNextView instanceof EditText) {

EditText et = (EditText) mNextView;

//如果跳转控件为EditText,让光标自动移到文本框文字末尾

et.setSelection(et.getText().length());

}

}

}

}

}

在Activity中为EditText添加监听器,这里让两个EditText之间互相跳转

editText = findViewById(R.id.edit_text);

editText2 = findViewById(R.id.edit_text2);

editText.addTextChangedListener(new ViewUtil.JumpTextWatcher(editText,editText2));

editText2.addTextChangedListener(new ViewUtil.JumpTextWatcher(editText2,editText));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值