在View.java中,
setId - “设置此 View 的标识符。标识符在此 View 的层次结构中不必是唯一的。标识符应该是正数。”
&
findViewById - “查找具有给定 id 的 subview 。如果此 View 具有给定 id,
为什么我不能使用负数作为 View 的 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);
}
系统似乎运行良好。
最佳答案
这很可能只是一个设计决策。负标识符通常用于通知底层实体出现问题,因此使用负 ID 通常会被人反对。
关于Android:为什么 View 的ID应该是正数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849121/