我正在尝试在彼此下动态添加多个布局。所以我写了以下代码:
for (int i = 1; i <= layoutCounter; i++) {
View neu = inflater.inflate(R.layout.vote, parent, false);
neu.setId(layoutID);
if (layoutID == 1) {
params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.txtMultiline);
} else {
params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, neu.getId());
}
neu.setLayoutParams(params);
parent.addView(neu);
layoutID++;
}
txtMultiline 是在 XML 中定义的固定视图。LayoutID 是一个整数,以 1 开头。第一个布局正确添加在 txtMultiline TextView 下。但是所有以下布局都只是添加到父布局(这是一个RelativeLayout)之上。无法得到原因.. else-route 正确执行。但是当尝试将 BELOW 常量应用于我的动态膨胀布局时,它似乎没有任何效果。我究竟做错了什么?