Android EditText @人名

今天产品要求实现@人名功能,该死的没写过,百度了半天也没有介绍的没办法只能自己写了。

首先第一步就是生成@人名格式:

String text ="@"+ senderName +"  ";

当@人名生成之后,EditText的光标应该位于@人名的后面,此时引用EditText的一个属性:

setSelection()====>设置光标出现的位置

EditText中有一个方法addTextChangedListener,应用该方法目的就是为了当删除@人名的时候讲EditText设置为空

edit_context.addTextChangedListener(new TextWatcher() {

@Override

//在EditText内容改变之前

public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override

//在EditText内容改变时

public void onTextChanged(CharSequence charSequence, int i, inti 1, int i2) {

}

@Override

//在EditText内容改变之后

public voidafterTextChanged(Editable editable) {

String s = editable.toString();

//判断是否@人名

inti = s.indexOf("@");

//i==-1表示,没有@人名

if(i != -1)

if(!s.equals(""))

//判断当前edittext内容的长度是否小于@人名的长度,如果小于@人名长度此时正在执行删除则将edittext设置为0

if(s.length()

edit_context.setText("");

}

}

});

你可能感兴趣的:(Android EditText @人名)