2011-02-15 54 views
1

我试图以编程方式添加几个从TextViews延伸到RelativeLayout瓷砖。Programmatic RelativeLayout

我的代码如下。

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并添加一条规则,每个瓷砖对齐到以前的tile的权利。当我运行应用程序时,看起来瓷砖互相重叠。有什么建议么?

回答

5

您无法为每个视图重用相同的LayoutParams对象。你需要每次创建一个新的。

+0

这正是错误的地方。谢谢。 – 2011-02-15 19:15:49