Android:为什么视图的ID应该是正数?

BBa*_*Bai 2 android findviewbyid

在View.java中,

setId - "设置此视图的标识符.标识符在此视图的层次结构中不必是唯一的.标识符应为正数."

&

findViewById - "查找具有给定id的子视图.如果此视图具有给定的id,

为什么我不能使用负数作为视图的ID?我评论说了

    public final View findViewById(int id) {
    // The original android check at here
    //  if (id < 0) { 
    // is commented out to test if system could run when Ids are negative numbers
    if (id == NO_ID) {
        return null;
    }
    return findViewTraversal(id);
}
Run Code Online (Sandbox Code Playgroud)

该系统似乎工作正常.

Kim*_*imi 5

它很可能只是一个设计决定.负标识符通常用于通知底层实体存在问题,因此使用否定标识符通常是不受欢迎的.