0

我正在尝试以编程方式将可变数量的按钮添加到活动中。

所以我从一个这样的填充哈希图开始:

Map<String, String> map = new HashMap<String, String>();

然后我循环获取数据并制作按钮:

int k = 0;
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layrelative);
for(Entry<String,String> entry : map.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            Button b = new Button(Peli.this);
            b.setId(k);
            b.setText(key);
            b.setOnClickListener(Peli.this);
            layout.addView(b);
            k++;
        }

问题是我只得到不超过一个按钮,但如果我记录循环,数据可以生成多个按钮,顺便说一句,si 总是最后一次迭代的最后一个数据。

我究竟做错了什么?我还使用具有相同结果的迭代器进行了测试,所以我认为我的错误在于 addView 方法或创建每个按钮视图。

提前致谢。

4

1 回答 1

2

您没有根据您希望它们的布局位置设置任何 Button 的属性。这是一个相对布局。默认为左上角。本质上,您正在布置许多按钮,但它们在 Z 方向上都是一个在另一个之上!!!

看看这个 如何以编程方式在RelativeLayout中布局视图?

于 2012-06-18T18:56:00.883 回答