【android笔记】杂乱

1、请问onTextChanged,beforeTextChanged和afterTextChanged这三个函数有什么区别?
 
  
这个字面上的意思应该还蛮好懂的...先看我怎么翻译官方描述的:
A.  beforeTextChanged(s,start,count,after) 在s中从start开始的count个字符即将被after个字符替换
B.  onTextChanged(s,start,before,count)在s中从start开始的before个字符刚刚被count个字符替换
C.  afterTextChanged(s) s中有内容被改变
这样描述可能比sdk中的描述清楚多了.因为描述中参数的顺序和函数参数的顺序相同.这里A中的after代表"之后被显示的"...B中的before是代表"之前被显示的".
其实你被SDK中的描述搞晕了...我刚看也晕...后来发现
beforeTextChanged(A,B,C,D)       在A中从B开始的C个字符"即将"被D个字符替换
onTextChanged(A,B,C,D)       在A中从B开始的C个字符"刚刚"被D个字符替换
看到没...除了引号里的...其余都没差
2、 instanceof的用法,要详细的
instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
     
用法:
result = object instanceof class
参数:
result
必选项。任意变量。
object
必选项。任意对象表达式。
class
必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

 例如:
 Boolean b;  
String str = "foo";  
b = ( str instanceof String );   // true
b = ( str instanceof Object );   // also true
b = ( str instanceof Date );     // false, not a Date or subclass

注意:
1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。
String s = null; 
if ( s instanceof String ) 
    // false, won't happen
2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。
if ( foo instanceof byte[] )

你可能感兴趣的:(android)