我正在尝试以编程方式添加几个从TextViews
扩展到RelativeLayout
的Tiles。
我的代码如下。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
for (int i = 0; i < characters.length; i++) {
Tile tile = new Tile(this);
tile.setText(Character.toString(characters[i]));
tile.setId(i);
if (i != 0) {
params.addRule(RelativeLayout.RIGHT_OF, i - 1);
}
_display.addView(tile, params);
}
所以我正在创建一个名为LayoutParams
的新params
实例类,并添加一条规则来将每个图块对齐到前一个图块的右侧。当我运行应用程序时,看起来瓷砖彼此重叠。有什么建议吗?
答案 0 :(得分:5)
您不能为每个视图重用相同的LayoutParams对象。你需要每次都创建一个新的。