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); } }