android按下enter键如何让光标跳到下一个edittext,Android EditText 输入回车符自动跳转至下一个EditText...

一、此功能描述

在输入信息时,在EditText控件输入回车键,常常不是换行而是让光标直接跳转到下一个编辑框。该功能主要用到了文本监听器接口TextWatcher,主要监听用户是否输入回车符,如果监听到已输入回车符,就自动将焦点移动到下一个控件,从而实现回车符自动跳转的需求。

二、功能代码

public class JumpTextUtil implements TextWatcher {

private EditText mThisView = null;

private View mNextView = null;

public JumpTextUtil(EditText mThisView, View mNextView) {

super();

this.mThisView = mThisView;

if (mNextView!=null) {

this.mNextView = mNextView;

}

}

//beforeTextChanged:文本改变之前触发

//onTextChanged:文本改变过程中触发

//afterTextChanged:文本改变之后触发

@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) {

String str = editable.toString();

if (str.contains("\r")||str.contains("\n")){

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

if (mNextView!=null){

mNextView.requestFocus();

if (mNextView instanceof EditText){

// instanceof 是判断其左边对象是否为其右边类的实例

EditText et = (EditText) mNextView;

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

}

}

}

}

}

三、调用方法

//声明EditText的变量username

EditText username;

//给变量username赋值

username = findViewById(R.id.et_login_username);

//调用EditText的addTextChangedListener方法,文本监听。

username.addTextChangedListener(new JumpTextUtil(username,password));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值