动态添加多个按钮

时间:2023-02-09 14:53:24

I want to add multiple buttons dynamically through the code on button click, I searched many previous posts which shows to add single button, but I need multiple ones.

我想通过按钮上的代码动态添加多个按钮点击,我搜索了很多以前显示添加单个按钮的帖子,但是我需要多个按钮。

Attached is the sample code.

附件是示例代码。

   public class MainActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button b1 = (Button)findViewById(R.id.button1);        b1.setOnClickListener(new View.OnClickListener() {                  @Override            public void onClick(View v) {                               AddAll();                               }        });    }    public void AddAll() {        final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);        final Button btn = new Button(this);        for(int i=0;i<4;i++)        {            rl.addView(btn);             btn.setText("hello");            btn.setWidth(320);            btn.setHeight(40);        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }

Please help regarding the same. However adding single button is working fine, but I need to add many buttons one below the other.

请帮忙处理相同的事情。但是添加单个按钮是可以的,但是我需要在另一个按钮下面添加多个按钮。

2 个解决方案

#1


1  

public void AddAll() {final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);for(int i=0;i<4;i++){    final Button btn = new Button(this);    rl.addView(btn);     btn.setText("hello");    btn.setWidth(320);    btn.setHeight(40);}//////////////////////////////////////////////////////////}

For more detail :-

更多的细节:-

How do I programmatically add buttons into layout one by one in several lines?

如何在几个行中逐个地在布局中添加按钮?

or

 public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    ScrollView scrollView= new ScrollView(this);    LinearLayout mainLayout = new LinearLayout(this);    mainLayout.setOrientation(LinearLayout.VERTICAL);                    for (int i=0; i<10; i++){        LinearLayout ll = new LinearLayout(this);        ll.setOrientation(LinearLayout.HORIZONTAL);        ll.setTag(i);                                    TextView tv=new TextView(this);        tv.setText("Row " + i);                    ll.addView(tv);        Button b = new Button(this);        b.setTag(i);        b.setText("Button " + i);                    ll.addView(b);                            mainLayout.addView(ll);    }    scrollView.addView(mainLayout);    setContentView(scrollView);}

#2


-1  

public void AddAll() {  LinearLayout layout = (LinearLayout) findViewById(R.id.linear);        layout.setOrientation(LinearLayout.HORIZONTAL);             for (int j = 0; j < 4; j++ ){                Button btnTag = new Button(this);                btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));                btnTag.setText("Button " + j);                layout.addView(btnTag);            }        }

#1


1  

public void AddAll() {final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);for(int i=0;i<4;i++){    final Button btn = new Button(this);    rl.addView(btn);     btn.setText("hello");    btn.setWidth(320);    btn.setHeight(40);}//////////////////////////////////////////////////////////}

For more detail :-

更多的细节:-

How do I programmatically add buttons into layout one by one in several lines?

如何在几个行中逐个地在布局中添加按钮?

or

 public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    ScrollView scrollView= new ScrollView(this);    LinearLayout mainLayout = new LinearLayout(this);    mainLayout.setOrientation(LinearLayout.VERTICAL);                    for (int i=0; i<10; i++){        LinearLayout ll = new LinearLayout(this);        ll.setOrientation(LinearLayout.HORIZONTAL);        ll.setTag(i);                                    TextView tv=new TextView(this);        tv.setText("Row " + i);                    ll.addView(tv);        Button b = new Button(this);        b.setTag(i);        b.setText("Button " + i);                    ll.addView(b);                            mainLayout.addView(ll);    }    scrollView.addView(mainLayout);    setContentView(scrollView);}

#2


-1  

public void AddAll() {  LinearLayout layout = (LinearLayout) findViewById(R.id.linear);        layout.setOrientation(LinearLayout.HORIZONTAL);             for (int j = 0; j < 4; j++ ){                Button btnTag = new Button(this);                btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));                btnTag.setText("Button " + j);                layout.addView(btnTag);            }        }