我正在构建一个应用程序,它将视图添加到相对布局直到停止。我的问题是 RelativeLayout.LayoutParams.addRule 是如何工作的?如果我继续调用 addRule 这会创建一个不断增长的列表还是 addRule 检查规则是否已经存在?下面的代码真的有必要吗?我可以只使用 addRule 并且如果已经存在这不会创建重复条目吗?
谢谢
int[] rules = this.position[0].params.getRules();
boolean rule = false;
switch(index){
case 0:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.RIGHT_OF)
rule = true;
}
if(!rule){
this.position[0].params.addRule(RelativeLayout.RIGHT_OF);
}
break;
case 1:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.LEFT_OF)
rule = true;
}
if(!rule){
this.position[1].params.addRule(RelativeLayout.LEFT_OF);
}
break;
case 2:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.ABOVE)
rule = true;
}
if(!rule){
this.position[2].params.addRule(RelativeLayout.ABOVE);
}
break;
case 3:
for(int i = 0; i < rules.length; i++){
if(rules[i]==RelativeLayout.BELOW)
rule = true;
}
if(!rule){
this.position[3].params.addRule(RelativeLayout.BELOW);
}
break;
}