美文网首页
Android EditText @人名

Android EditText @人名

作者: 北漂攻城狮的泪 | 来源:发表于2016-09-08 17:02 被阅读0次

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

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

    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 @人名

          本文链接:https://www.haomeiwen.com/subject/ifijettx.html