目前要对联系人编辑界面的人名(包括8项First Middle等)做长度限制,需要在输入时进行,超过指定长度输入就无效(如果限定长度为9,那么就是在EditText里面最多输入9个字符,再输入EditText不会增加10个字符)。请教大家有没有好的方法!我这里对字符设置后无法成功修改文件 GenericEditorView.java 方法 setValues 里面
   fieldView.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {
          if(s.toString.length()>9){
              String temp = s.toString.substring(0,9);
              //此处如何设置temp
               //fieldView.setText(temp); //此处不可以,如何解决??
 onFieldChanged(column,  s.toString());
                  

解决方案 »

  1.   

    该fieldView是一个共用EditText,xml属性设置,会影响其他设置EditText,具体请看下代码,添加联系人界面的所有EditText都是这个fieldView。
      

  2.   


    请仔细看看代码,上面已经有textwatcher。问题在于fileview无法将修改的值再写入,即名字在超过9个字符之后还可以输入
      

  3.   

    fieldView.setText(temp);
    执行会报堆栈错误java.lang.StackOverflowError
      

  4.   

    不要把temp 设置局部变量,在这个事件外面setText(temp)
      

  5.   

    问题已解决,由于涉及EditText较多要做vnd.android.cursor.item/name的限制
      

  6.   

    和我做的有点像。只是我是对创建在SIM卡上的联系人的名字长度做了限定。