TextView.setText时参数只能是字符/字符串

来源:互联网 发布:软件项目测试总结 编辑:程序博客网 时间:2024/05/29 16:49

注意:TextView控件的setText( ) 方法的参数只能是CharSquence, 字符序列/字符串


参数如果是float,会直接提示,不能使用float类型


参数如果是int类型,写的时候不会报错,但是编译的时候会报错!! 

错误提示大致如下:notFoundResource String xxx


附:

String 与CharSquence的关系:

String实现了CharSquence

CharSequence是一个接口,它只包括length(), charAt(int index), subSequence(int start, int end)这几个API接口。除了String实现了CharSequence之外,StringBuffer和StringBuilder也实现了CharSequence接口。
需要说明的是,CharSequence就是字符序列,String, StringBuilder和StringBuffer本质上都是通过字符数组实现的!

String的源码截取:

/** * An immutable sequence of UTF-16 {@code char}s. * See {@link Character} for details about the relationship between {@code char} and * Unicode code points. * * @see StringBuffer * @see StringBuilder * @see Charset * @since 1.0 */public final class String implements Serializable, Comparable<String>, CharSequence {    private static final long serialVersionUID = -6849794470754667710L;    private static final char REPLACEMENT_CHAR = (char) 0xfffd;    private static final class CaseInsensitiveComparator implements            Comparator<String>, Serializable {        private static final long serialVersionUID = 8575799808933029326L;        /**         * See {@link java.lang.String#compareToIgnoreCase}.         *         * @exception ClassCastException         *                if objects are not the correct type         */        public int compare(String o1, String o2) {            return o1.compareToIgnoreCase(o2);        }    }



1 0