2012-02-19 77 views
0

我想添加按钮到不同的LinearLayout动态(与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 3个按钮与(i % 3 == 0) 但似乎从来没有创建LinearLayout新。

谢谢您的帮助:)

+0

嗯,代码似乎还好,不过我没有测试它。显示哪些视图? 所有的XML都可以吗?您是否定义了布局高度和属性? – 2012-02-19 16:59:47

+0

我有10个按钮,但每个都在一个LinearLayout(所以10 LinearLayout)。 我不认为我的XML是错误的,是的,高度和宽度被定义。在我看来,这只是一个新的LinearLayout实例...但是如何? – lost17 2012-02-19 17:12:16

回答

0

您可能需要定义线性布局,内环路创建它的新实例进行,只要循环中执行创建它。

+0

没错,我想我要创建的LinearLayout的新实例,但我不知道如何来实例化一个新的带有充气... – lost17 2012-02-19 17:13:44

+0

你可能会想创建内部布局吹气for循环。目前,它只是被创造出来的。这是值得尝试的方式。 – 2012-02-19 17:16:44

+0

不!我仍然有10 LinearLayout :( – lost17 2012-02-19 17:23:23