关于eclipse + android java项目中的数组和按钮的问题

时间:2011-09-04 17:34:27

标签: java android arrays eclipse

我很喜欢eclipse的新东西,我想知道有没有办法让我在java代码中创建一个按钮数组而不是xml文件,然后在布局上定义那里的位置。

2 个答案:

答案 0 :(得分:0)

每个Button对象都是一个视图本身。因此,它可以添加到父布局(如LinearLayout)。最简单的方法是IMHO只为你知道不会改变或者使用TableLayout的东西创建XML。然后,添加按钮。

LinearLayout mainLayout = findViewById(R.id.mainLayout);
Button[] btnArray = new Button[3];
for(Button button : btnArray){
    button = new Button(/*Required params */);
    // button.something , play with text and onclick and positions...
    mainLayout.addView(button);
}

这是你想要做的吗?

答案 1 :(得分:0)

LinearLayout linear = (LinearLayout) findViewById(R.id.linear);
for (int i = 1; i <= 20; i++) {
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);
    btn = new Button(this);
    btn.setId(i);
    final int id_ = btn.getId();
    btn.setText("button " + id_);
    btn.setBackgroundColor(Color.rgb(70, 80, 90));
    linear.addView(btn, params);

    btn1 = ((Button) findViewById(id_));
    btn1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Toast.makeText(view.getContext(),
                    "Button clicked index = " + id_, Toast.LENGTH_SHORT)
                    .show();
        }
    });
}