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("");

}

}

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容