请教一下 ,如何可以使 EditText 中 部分文字不能编辑例如 我现在有一个 微博内容编辑框  但是前面必须加上特定的文字且不可编辑。如果是教我重新布局的就算了 ,布局改不了。可以自定义EditText

解决方案 »

  1.   

    参考这个:editText.setFilters(new InputFilter[] { new InputFilter() {
     @Override
     public CharSequence filter(CharSequence source, int start,
      int end, Spanned dest, int dstart, int dend) {
       return source.length() < 1 ? dest.subSequence(dstart, dend) : "";
     }
    } });
      

  2.   


    哥  太谢谢你啦  ,我的问题解决了 
    贴上代码
    content.setFilters(new InputFilter[] { new InputFilter() {
     @Override
     public CharSequence filter(CharSequence source, int start,
      int end, Spanned dest, int dstart, int dend) {
     LogUtils.loge("E", "source = "+source);
     LogUtils.loge("E", "start = "+start);
     LogUtils.loge("E", "end = "+end);
     LogUtils.loge("E", "dest = "+dest);
     LogUtils.loge("E", "dstart = "+dstart);
     LogUtils.loge("E", "dend = "+dend);
     LogUtils.loge("E", "char = "+dest.toString().substring(dstart, dend));
     String str = "不能被编辑的头部文字 ";
     String ch = dest.toString().substring(dstart, dend);
     
     Pattern pattern = Pattern.compile(ch);
     Matcher matcher = pattern.matcher(str);
     
     if(source.length()>0){
     return source;
     }else if(matcher.find()&& dstart<=str.length()){
     return ch;
     }else{
     return "";
     }
     }
    } });