我想动态地(使用Java)向不同的LinearLayout添加按钮,但在此之前我必须将LinearLayout
添加到主视图中,顺便提一下LinearLayout
。
这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
globalLinear = (LinearLayout) findViewById(R.id.viewButtons);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
LinearLayout row = (LinearLayout) inflater.inflate(R.layout.row_buttons, globalLinear);
for(int i = 1; i <= nbButton; i++) {
if(i % 3 == 0) {
row = (LinearLayout) inflater.inflate(R.layout.row_buttons, globalLinear);
}
Button b = new Button(this);
int number = generator.nextInt(complexity);
b.setText(number+"");
row.addView(b, new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT) );
}
}
R.id.viewButtons
是内部的主要(垂直)LinearLayout
。
R.layout.row_buttons
是横向LinearLayout
。
正如您在上面所看到的那样,我试图通过LinearLayout
每(i % 3 == 0)
获得3个按钮
但似乎永远不会创建新的LinearLayout
。
感谢您的帮助:)
答案 0 :(得分:0)
您可能需要定义线性布局,在循环内创建它的新实例,只要循环执行就可以创建它。