gpt4 book ai didi

java - addRule(RelativeLayout.BELOW, id) 不起作用

转载 作者:行者123 更新时间:2023-12-01 10:53:49 26 4
gpt4 key购买 nike

我尝试在彼此下方创建 5 个按钮,但它们出现在彼此之上

ArrayList<Button> btn = new ArrayList<>();
for (int i=0; i<10; i++) {
Log.d("TEST", Integer.toString(i));

btn.add(new Button(this));
btn.get(i).setText(Integer.toString(i));
if (i == 0) {

btn.get(i).setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
} else {
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, btn.get(i-1).getId());
btn.get(i).setLayoutParams(lp);
}
ll.addView(btn.get(i));

我的代码有什么问题吗?

最佳答案

通过添加 btn.get(i).setId(View.generateViewId()) 解决。在使用 setId() 之前,所有按钮的 id 均为 -1。

关于java - addRule(RelativeLayout.BELOW, id) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33723200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com