android4.0的View.setError()为什么不能显示文字了?是不是4.0去掉了这个功能?

解决方案 »

  1.   

    android4.0的View就没有这个方法....
      

  2.   

    如果是TextView.setError,那么这个是能显示的,需要控件获得焦点才会显示
      

  3.   

    setError(CharSequence c)方法的参数是字符序列对象,推荐使用Html格式文本加载进去,显示错误。
    ///举例///
    Html html = Html.fromHtml("<font color='blue'>出错</font>");
    editText.setError(html);
    //////////
      

  4.   

    解决方案:(Android 4.1 ver.)setError(CharSequence c)方法的参数是字符序列对象,推荐使用Html格式文本加载进去,显示错误。
    ///////////////////////举例/////////////////////
    CharSequence html1 = Html.fromHtml("<font color='blue'>出错</font>"); //任意长度内容均可
    //Spanned html2 = Html.fromHtml("出错"); //纯文本不可取-内容将不会显示
    editText.setError(html1);
    //editText.setError(html2); 
    ////////////////////////////////////////////////
    ///////////////////////总结/////////////////////
    1. 参数必须是CharSequence/Spanned类型变量;
    2. fromHtml()方法参数必须包含HTML标准标签;
    3. 报错内容不要过长,尽量简短,否则UI叠层架构中会出现覆盖现象,而导致不显示内容。
    ////////////////////////////////////////////////